我写了以下PHP代码:
$input="menu=1&type=0&";
print $input."<hr>".ereg_replace('/&/', ':::', $input);
运行上面的代码后,它会发出以下警告,
不推荐使用:不推荐使用函数ereg_replace()
如何解决此警告。
答案 0 :(得分:41)
切换到preg_replace
Docs并更新表达式以使用preg语法(PCRE)而不是ereg语法(POSIX)where there are differencesDocs(正如它在ereg_replace
Docs手册中所说的那样)
答案 1 :(得分:31)
print $input."<hr>".ereg_replace('/&/', ':::', $input);
成为
print $input."<hr>".preg_replace('/&/', ':::', $input);
更多示例:
$mytext = ereg_replace('[^A-Za-z0-9_]', '', $mytext );
更改为
$mytext = preg_replace('/[^A-Za-z0-9_]/', '', $mytext );
答案 2 :(得分:6)
将对ereg_replace的调用更改为使用preg_replace而不是
答案 3 :(得分:4)
注意:自PHP 5.3.0起,不推荐使用正则表达式扩展而使用PCRE extension。
因此,preg_replace在各方面都是更好的选择。请注意,模式语法有一些差异。
答案 4 :(得分:3)
IIRC他们建议使用preg_
函数(在本例中为preg_replace
)。
答案 5 :(得分:3)
Here是关于用preg_replace替换ereg_replace的更多信息