$str="pen,pencil,pencil-case,ruler,eraser"
$pattern="/\,/i"
echo preg_replace($pattern,"",$str,-1)
?>
说明:
mixed preg_replace( mixed pattern, mixed replacement, mixed subject [, int limit] )
pattern
要搜索的模式。可以使一个字符串或字符串数组。
replacement
用于替换的字符串或字符串数组。
subject
要进行搜索和替换的字符串或字符串数组。
limit
每个模式在每个subject上进行替换的最大次数。默认是 -1(无限)。
匹配汉字其实与编码有关系的,UTF8的正则与GBK的正则就会有差别。我按你的要求改了一个在UTF-8编码下匹配的,但还没达到禁止连续两个半角逗号的要求。你可以先看看,看看有没有启发。
$str = "汉,中国,人,字"
if (preg_match("/^[^,][\x{4e00}-\x{9fa5},]+[^,]$/u",$str)) {
print("合法")
} else {
print("不合法")
}
============
如果未能解决两个半角逗号的问题,其他楼主也可以降低一下要求,分两次处理。第一次先替换掉双半解逗号为一个,再使用正则来匹配。
能解决问题是关键,方法可以再优化,对不?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)