需要有经验的preg_replace()函数的帮助

时间:2017-04-01 21:15:58

标签: php

如您所知,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);

谢谢。

1 个答案:

答案 0 :(得分:0)

您的示例中唯一的区别是您需要添加分隔符。

http://php.net/manual/en/regexp.reference.delimiters.php

  

使用PCRE功能时,要求图案由分隔符包围。分隔符可以是任何非字母数字,非反斜杠,非空白字符。

     

经常使用的分隔符是正斜杠(/),井号(#)和波浪号(〜)。

但是,话虽如此,在你的情况下,使用str_replace会更高效,更简单,因为你并没有真正使用任何正则表达式模式。