This question already has an answer here:
I have written following PHP code:
$input="menu=1&type=0&";
print $input."<hr>".ereg_replace('/&/', ':::', $input);
After running above code, it gives following warning,
Deprecated: Function ereg_replace() is deprecated
How can I resolve this warning.
Switch to preg_replaceDocs and update the expression to use preg syntax (PCRE) instead of ereg syntax (POSIX) where there are differencesDocs (just as it says to do in the manual for ereg_replaceDocs).
print $input."<hr>".ereg_replace('/&/', ':::', $input);
becomes
print $input."<hr>".preg_replace('/&/', ':::', $input);
More example :
$mytext = ereg_replace('[^A-Za-z0-9_]', '', $mytext );
is changed to
$mytext = preg_replace('/[^A-Za-z0-9_]/', '', $mytext );
change the call to ereg_replace to use preg_replace instead
http://php.net/ereg_replace says:
Note: As of PHP 5.3.0, the regex extension is deprecated in favor of the PCRE extension.
Thus, preg_replace is in every way better choice. Note there are some differences in pattern syntax though.
IIRC they suggest using the preg_ functions instead (in this case, preg_replace).
Here is more information regarding replacing ereg_replace with preg_replace
来源:https://stackoverflow.com/questions/3132844/function-ereg-replace-is-deprecated-how-to-clear-this-bug