只需从PHP 5.2迁移到5.3,需要付出很多努力!以下是好的,或者你会采取不同的做法吗?
$cleanstring = ereg_replace("[^A-Za-z0-9]^[,]^[.]^[_]^[:]", "", $critvalue);
到
$cleanstring = preg_replace("[^A-Za-z0-9]^[,]^[.]^[_]^[:]", "", $critvalue);
全部谢谢
答案 0 :(得分:3)
作为克莱图斯回答的后续行动:
我也不熟悉POSIX正则表达式语法(ereg_ *),但根据您的标准,以下内容应该符合您的要求:
$cleanstring = preg_replace('#[^a-zA-Z0-9,._:]#', '', $critvalue);
这将删除除a-z,A-Z,0-9和puncation字符之外的所有内容。
答案 1 :(得分:2)
我对ereg_ *函数并不熟悉,但你的preg版本有几个问题:
一个例子:
$out = preg_replace('![^0-9a-zA-Z]+!', '', $in);
注意我正在使用!分隔正则表达式,但你可以很容易地使用/,〜或其他什么。以上删除了除数字和字母之外的所有内容。
请参阅Pattern Syntax,特别是Delimiters。