警告:preg_match_all():未知修饰符' g'

时间:2016-03-11 10:31:05

标签: php regex

我收到以下错误消息:

  

警告:preg_match_all():未知的修饰符' g'

我使用的模式是:

$pattern = '/<Cube\s*currency="(\w*)"\s*rate="([\d\.]*)"\/>/gi';
preg_match_all($pattern,$buffer,$xml_rates);

我确实将/更改为{}#~,但没有任何区别。

我使用https://regex101.com/来测试正则表达式,并且它在那里工作,但是当我添加它时,它会给出错误。

我在这里搜索了,但第一个问题没有delimiters,但是我做了,而其他问题的用户使用的是preg_match()而不是preg_match_all(),但我我正在使用preg_match_all()

我哪里错了?

2 个答案:

答案 0 :(得分:3)

preg_match_all已经global,因此g修饰符无效 preg_match_all = preg_match + g

答案 1 :(得分:0)

g正则表达式修饰符将使所有匹配全局。

PHP使用preg_match_all()进行全局匹配,无需使用g修饰符。