我正在尝试匹配字符串中所有出现的{$ anything}。
示例字符串为:
Hello {$test} World
适用于:
^.*\{\$(.*?)\}.*$
或
preg_match("/^.*\{\$(.*?)\}.*$/", $input_line, $output_array);
但是我如何循环这个以便它检索所有的匹配,例如,如果我有:
Hello {$test} World {$done}
它只检索数组中的最后一个匹配:
Array
(
[0] => Hello {$test} World {$done}
[1] => done
)
答案 0 :(得分:3)
将preg_match_all
与正确的正则表达式一起使用以获取所有匹配项:{$...}
pattern
preg_match_all("/\{\$([^}]*)\}/", $input_line, $output_array);
然后迭代(处理)$output_array[1]
。