有人可以解释'e'标志的作用,或者将我链接到某个地方吗?我无法通过谷歌找到任何东西。
示例:
preg_replace("/a(b?)c/e", "search_foo_term('\$1')", $str);
答案 0 :(得分:7)
e(PREG_REPLACE_EVAL)
如果这个修饰符 设置,preg_replace()正常 替代反向引用 替换字符串,将其评估为 PHP代码,并使用结果 替换搜索字符串。单 引号,双引号,反斜杠() 和NULL字符将被转义 替换中的反斜杠 反向引用。只有preg_replace() 使用此修饰符;它被忽略了 其他PCRE功能。
http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
所以给出了这个例子:
preg_replace("/a(b?)c/e", "search_foo_term('\$1')", $str);
替换整个匹配将是什么search_foo_term()在传递b的匹配时返回?
答案 1 :(得分:2)
e标志已弃用,主要是出于安全原因。请改用preg_replace_callback
。