`e`修饰符在preg_match中意味着什么?

时间:2015-03-19 06:45:53

标签: php preg-match pcre

我现在正在审查PHP代码是否存在可疑代码。我找到了

preg_match('/^' . preg_quote($var1, '/') . '/ie', $var2)

但是php不会引发任何警告,例如The /e modifier is deprecated, use preg_replace_callback instead inUnknown modifier 'e' in

测试:http://3v4l.org/6i8ln

e (PREG_REPLACE_EVAL)修饰符对preg_match具有特殊含义或者只是被忽略了吗?

1 个答案:

答案 0 :(得分:4)

preg_match()中,修饰符e不会做任何事情,也会被弃用。您可以在手册中阅读更多相关信息:http://php.net/manual/en/reference.pcre.pattern.modifiers.php

还有两个引用:

  

警告:   自PHP 5.5.0起,此功能已已弃用。非常不鼓励依赖此功能。

  

注意:   只有preg_replace()才会使用此修饰符; 其他PCRE功能 忽略