Function ereg_replace() is deprecated - How to clear this bug? [duplicate]
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_replace
Docs 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_replace
Docs).
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
精彩评论