Ang*_*o A 0 php regex preg-replace
我有这个代码,但 PHP 给了我一个Unknown modifier '?'错误。
有谁知道我做错了什么?(我在网上找到了代码,因为我不熟悉正则表达式)
$old = "<FONT></FONT><P></P><TR></TR>";
$newString = preg_replace("/</?\w+/e/", "strtolower('\\0')", $old);
echo $newString ."<br/>";
Run Code Online (Sandbox Code Playgroud)
PHP 5.4及更早版本:
$old = "<FONT></FONT><P id='P1'></P><TR></TR>";
$newString = preg_replace("/(<\/?\w+)(.*?>)/e", "strtolower('\\1') . '\\2'", $old);
echo $newString ."<br/>";
Run Code Online (Sandbox Code Playgroud)
自 PHP 5.5.0 起不推荐使用该e修饰符,请改用:preg_replace_callback
$old = "<FONT></FONT><P id='P1'></P><TR></TR>";
$newString = preg_replace_callback("/(<\/?\w+)(.*?>)/", function ($m) {
return strtolower($m[1]) . $m[2]; }, $old);
echo $newString ."<br/>";
Run Code Online (Sandbox Code Playgroud)
输出:
<font></font><p id='P1'></p><tr></tr><br/>
Run Code Online (Sandbox Code Playgroud)