在PHP中使用正则表达式,将用{{}}引号括起来的文本提取为数组。
例如:
$str = "This is sample content with a dynamic value {{value1}} and also have more dynamic values {{value2}}, {{value3}}";
需要输出以下数组格式,请见如下内容:
array(value1,value2,value3);
在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"
}
$arr[1]
,因为它与匹配组#1相关,即方括号内的表达式。 - anubhavapreg_match_all('~\{\{(.*?)\}\}~', $string, $matches);
var_dump($matches[1]);
输出:
array(3) {
[0] =>
string(6) "value1"
[1] =>
string(6) "value2"
[2] =>
string(6) "value3"
}
()
。$matches
数组将首先包含整个匹配,然后是匹配的第一、二、...组。这就是它的工作原理。 - hek2mglpreg_match_all('/\{\{([^}]+)\}\}/', $str, $matches);
$array = $matches[1];