Регулярное выражение в PHP для получения текста, цитируемого внутри, с помощью «{{}}» в массиве.
Например:
$str = "This is sample content with a dynamic value {{value1}} and also have more dynamic values {{value2}}, {{value3}}";
Нужно выводить как массив ниже,
array(value1,value2,value3);
Это будет работать:
$str = "This is sample content with a dynamic value {{value1}} and also have more dynamic values {{value2}}, {{ value3 }}"; if (preg_match_all("~\{\{\s*(.*?)\s*\}\}~", $str, $arr)) var_dump($arr[1]);
ВЫВОД:
array(3) { [0]=> string(6) "value1" [1]=> string(6) "value2" [2]=> string(6) "value3" }
Использовать это:
preg_match_all('~\{\{(.*?)\}\}~', $string, $matches); var_dump($matches[1]);
Вывод:
array(3) { [0] => string(6) "value1" [1] => string(6) "value2" [2] => string(6) "value3" }
preg_match_all('/\{\{([^}]+)\}\}/', $str, $matches); $array = $matches[1];