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



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

谢谢。

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

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

使用 PCRE 函数时,需要用分隔符将模式括起来。分隔符可以是任何非字母数字、非反斜杠、非空格字符。

常用的分隔符是正斜杠 (/)、井号 (#) 和波浪号 (~)。

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

最新更新