I have the following code:
$str_val = \"L(ine 1(
L(ine 2)
Line 3
Line 4)\";
$regex = \'/\\(([^\\)]*?)\\)/i\';
preg_match($regex, $str_val, $match
Just do a greedy search
$regex = '/\(.*\)/s';
If you really want to have everything between (...)
use this one
$regex = '/\((.*)\)/s';
preg_match($regex, $str_val, $matches_arr);
echo $matches_arr[1];
Try this regular expression:
\([^\)]*\)
The first match is what you need.
You can use this: -
'/\((.*)\)/s'
/s
modifier is used to enable the dot metacharacter to match everything including a newline. And, since .*
is a greedy quantifier, it will match the longest string possible. So, it will match till the last )
.