【问题标题】:What does `e` modifer mean in preg_match?preg_match 中的“e”修饰符是什么意思?
【发布时间】:2015-03-19 06:45:53
【问题描述】:

我现在正在检查 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 有特殊含义还是被忽略?

【问题讨论】:

  • e 修饰符已弃用。不要将其用于新代码

标签: php preg-match pcre


【解决方案1】:

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

还有两个引述:

警告: 此功能已自 PHP 5.5.0 起已弃用。强烈建议不要依赖此功能。

注意: 只有 preg_replace() 使用这个修饰符;它被其他 PCRE 函数忽略

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 2010-11-06
    • 2016-12-11
    • 2018-04-24
    相关资源
    最近更新 更多