问题
I've seen a solution for not having to rework usage of the ereg function for PHP 5.3: Good alternative to eregi() in PHP
It uses if(!function_exists....
Is there a function that can be used in this way for ereg_replace
?
ereg_replace("<!--.*-->","",$str);
ereg_replace("[^a-z,A-Z]", "", $str);
回答1:
Use the PCRE function preg_replace instead:
preg_replace("/<!--.*-->/", "", $str);
preg_replace("/[^a-z,A-Z]/", "", $str);
POSIX ERE is (nearly) a complete subset of PCRE. So you can use (nearly) any POSIX ERE regular expression with a PREG implementation. See the Regular Expression Flavor Comparison for futher details.
回答2:
This line is now raising an exception, I suspect my web host has upgrade it's PHP installation.
$vq = ereg_replace('[[:space:]]+', ' ', trim($vq));
If I just switch to preg_replace it complains about the trailing +
I was hoping for a quick fix, this was from an example I think from IBM.
来源:https://stackoverflow.com/questions/1428882/ereg-replace-for-php-5-3