php 正则匹配中英文标点符号
<?php
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 />",'博客园★博客园。博客园.博客园');
?>