如您所知,ereg_replace
现已弃用。
我试图传递给preg_replace
,但没有像以前那样使用ereg_replace
。
我想在此处更改ereg_replace
:
$test = ereg_replace("%5C%22", "%22", $test);
$tar = ereg_replace(" ", "", $tar);
$test2 = ereg_replace("#EM#", $tar, $test2);
$su = ereg_replace("&emar&", $tar, $su);
我已经使用此preg_replace
进行了编辑,但我不知道它是否正确
$test = preg_replace('/%5C%22/', '%22', $test, -1);
$tar = preg_replace(/ /, '', $tar, -1);
$test2 = preg_replace('/#EM#/', $tar, $test2, -1);
$su = preg_replace('/&emar&/', $tar, $su, -1);
这一个:
$test2 = preg_replace('/#EM#/', $tar, $test2, -1);
是正确的还是我改为:
$test2 = preg_replace('/\#EM\#/', $tar, $test2, -1);
谢谢。
答案 0 :(得分:0)
您的示例中唯一的区别是您需要添加分隔符。
http://php.net/manual/en/regexp.reference.delimiters.php
使用PCRE功能时,要求图案由分隔符包围。分隔符可以是任何非字母数字,非反斜杠,非空白字符。
经常使用的分隔符是正斜杠(/),井号(#)和波浪号(〜)。
但是,话虽如此,在你的情况下,使用str_replace
会更高效,更简单,因为你并没有真正使用任何正则表达式模式。