函数ereg_replace()已被弃用 – 如何清除此错误?

我写了下面的PHP代码:

$input="menu=1&type=0&"; print $input."<hr>".ereg_replace('/&/', ':::', $input); 

运行上面的代码后,会给出以下警告,

不推荐使用:函数ereg_replace()已弃用

我怎样才能解决这个警告。

切换到preg_replace 文档并更新expression式,以使用preg语法(PCRE)而不是ereg语法(POSIX) ,这是在有差异的文档 (就像它在ereg_replace Docs手册中ereg_replace )。

 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 ); 

改为调用ereg_replace来代替使用preg_replace

http://php.net/ereg_replace说:;

注意:从PHP 5.3.0开始,不推荐使用正则expression式扩展来支持PCRE扩展 。

因此, preg_replace在各方面都是更好的select。 注意模式语法有一些差异。

IIRC他们build议使用preg_函数(在这种情况下, preg_replace )。

这里是关于用preg_replacereplaceereg_replace的更多信息