Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正则表达式标志_Php_Regex_Preg Replace - Fatal编程技术网

Php 正则表达式标志

Php 正则表达式标志,php,regex,preg-replace,Php,Regex,Preg Replace,有人能解释一下“e”标志的作用吗,或者把我和它联系起来?我在谷歌上找不到任何东西 例如: preg_replace("/a(b?)c/e", "search_foo_term('\$1')", $str); e(预更换评估) 如果这个修饰符 设置后,preg_replace()将正常运行 中反向引用的替换 替换字符串,将其计算为 PHP代码,并将结果用于 替换搜索字符串。单身 引号、双引号、反斜杠() 空字符将通过 替换中的反斜杠 反向引用。仅preg_替换() 使用此修饰符;它被忽视了 其他

有人能解释一下“e”标志的作用吗,或者把我和它联系起来?我在谷歌上找不到任何东西

例如:

preg_replace("/a(b?)c/e", "search_foo_term('\$1')", $str);
e(预更换评估)

如果这个修饰符 设置后,preg_replace()将正常运行 中反向引用的替换 替换字符串,将其计算为 PHP代码,并将结果用于 替换搜索字符串。单身 引号、双引号、反斜杠() 空字符将通过 替换中的反斜杠 反向引用。仅preg_替换() 使用此修饰符;它被忽视了 其他PCRE功能

举个例子:

preg_replace("/a(b?)c/e", "search_foo_term('\$1')", $str);
整个匹配的替换项将是当传递b?的匹配项时search_foo_term()返回的内容

e(预更换评估)

如果这个修饰符 设置后,preg_replace()将正常运行 中反向引用的替换 替换字符串,将其计算为 PHP代码,并将结果用于 替换搜索字符串。单身 引号、双引号、反斜杠() 空字符将通过 替换中的反斜杠 反向引用。仅preg_替换() 使用此修饰符;它被忽视了 其他PCRE功能

举个例子:

preg_replace("/a(b?)c/e", "search_foo_term('\$1')", $str);

整个匹配的替换项将是当传递b?的匹配项时search_foo_term()返回的内容

不推荐使用e标志,主要是出于安全原因。改用
preg\u replace\u callback

不推荐使用e标志,主要是出于安全原因。改用
preg\u replace\u callback

此答案已添加到“修饰符”下的。此答案已添加到“修饰符”下的。