php 正则匹配中英文标点符号

PHP技术
527
0
0
2022-03-20
header("Content-Type:text/html;charset=utf-8");
//preg_match('/((?=[\x21-\x7e]+)[^A-Za-z0-9])/i','中文★中文。中文.中文',$matches);

preg_match('/[^\x{4e00}-\x{9fa5}a-zA-Z0-9]/u','中文★中文。中文.中文',$matches);
echo $matches[0];
 

上面这两句是匹配出符号。下面这句是匹配与替换。全角和半角的特殊字符都可以匹配到。

^表示排除的意思。\x{4e00}-\x{9fa5}意思是汉字为utf8编码的unicode编码范围。

echo preg_replace('/[^\x{4e00}-\x{9fa5}a-zA-Z0-9]/u',"<br />",'中文★中文。中文.中文');