Вы можете сделать это с помощью регулярного выражения:
$string = "blah blah blah (blorp) blah blah (bloop) blah blah (bam)";
preg_match_all("/\((.*?)\)/", $string, $result_array);
print_r( $result_array[1] ); // $result_array[0] contains the matches with the parens
Это выдаст:
Array
(
[0] => blorp
[1] => bloop
[2] => bam
)
Мое регулярное выражение использует не жадный селектор: (.*?)
, что означает, что оно будет захватывать как можно меньше. Это удерживает его от съедания всего )
и захвата всего между открывающим (
и заключительным )
как можно большим количеством слов.