时间:2021-07-01 10:21:17 帮助过:6人阅读
$str='~!@#$%^&*()_+0124JHB"你好啊ghjk'; preg_match_all('/[[:punct:]\w ]/i',$str,$m); print_r($m);
------解决方案--------------------
\w是字母数字下划线
------解决方案--------------------
你的环境有点异常 可能是版本、编码方面的问题
正常情况下\w不可能匹配到中文的呀
实在不行用 [[:punct:]a-z0-9_]/i 吧
------解决方案--------------------
的确, 你不会是unicode文件吧.