我编写了以下PHP代码:
$input="menu=1&type=0&";
print $input."<hr>".ereg_replace('/&/', ':::', $input);
运行上述代码后,会出现以下警告:
弃用:函数 ereg_replace() 已被弃用
我该如何解决这个警告。
我编写了以下PHP代码:
$input="menu=1&type=0&";
print $input."<hr>".ereg_replace('/&/', ':::', $input);
运行上述代码后,会出现以下警告:
弃用:函数 ereg_replace() 已被弃用
我该如何解决这个警告。
切换到preg_replace
文档并更新表达式,使用 preg 语法(PCRE)代替 ereg 语法(POSIX),在差异处进行调整文档(就像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 );
http://php.net/ereg_replace指出:
注意:自PHP 5.3.0起,正则表达式扩展已被弃用,建议使用PCRE扩展。
因此,preg_replace是更好的选择。请注意,模式语法存在一些差异。
据我所知,他们建议在这种情况下使用preg_replace
函数而不是eregi_replace
函数。