正则表达式标志
有没有人能解释一下‘e’标志的作用,或者把我链接到某个能做到这一点的地方?我通过谷歌找不到任何东西。
示例:
preg_replace("/a(b?)c/e", "search_foo_term('$1')", $str);
解决方案
e(PREG_REPLACE_EVAL)
如果此修饰符 如果设置了preg_place(),则preg_place()执行正常操作 中的反向引用的替换 替换字符串,将其计算为 PHP代码,并将结果用于 替换搜索字符串。单人 引号、双引号、反斜杠() 并且空字符将通过以下方式进行转义 替换项中的反斜杠 反向引用。仅preg_place() 使用此修饰符;它将被忽略 其他PCRE功能。
http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
给出此示例:
preg_replace("/a(b?)c/e", "search_foo_term('$1')", $str);
整个匹配项的替换将是当传递b?的匹配项时search_foo_term()返回的内容。
相关文章