Function ereg_replace() is deprecated - How to clear this bug?
Solution 1
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).
Solution 2
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 );
Solution 3
change the call to ereg_replace to use preg_replace instead
Solution 4
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.
Solution 5
IIRC they suggest using the preg_
functions instead (in this case, preg_replace
).
Pradip
Updated on November 14, 2020Comments
-
Pradip over 3 years
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.