我编写了以下 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
Docs并更新表达式以使用 preg 语法 (PCRE) 而不是 ereg 语法 (POSIX) ,其中存在差异Docs(正如它在ereg_replace
Docs手册中所说的那样)。
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
注意:从 PHP 5.3.0 开始,不推荐使用 regex 扩展,取而代之的是PCRE 扩展。
因此,preg_replace在各方面都是更好的选择。请注意,尽管模式语法存在一些差异。
IIRC 他们建议改用这些preg_
函数(在这种情况下,preg_replace
)。
这是有关用 preg_replace 替换 ereg_replace 的更多信息