您的位置:首页 > 编程语言 > PHP开发

去掉中文空格的PHP正则代码

2010-05-08 13:24 295 查看
中文空格这里面有好几种:没有简单的解决问题的方式,比如半角全角空格,比如段落符都会显示为空白的,然后让人们误解它是空格,所以去掉空格之前一定要先确认自己的是不是空格,我下面分析一下这两种的解决办法。

(1)/[/s| ]+/这个就可以,注意|后面的跟的是全角空格

(2)mb中的正则替换也可以试试

另外注意使用Unicode的时候,加上正则表达式描述符u

但由于汉语中显示为空格模样的有很多个,比如说我下面碰到的这么一个,它的unicode编码为C2A0,使用下面的表达式就能解决问题。

$new['content'] = preg_replace('/^[(/xc2/xa0)|/s]+/', '',
$new['content']);

这里有个细节: /xc2a0本来是一个Unicode字符,但是不能匹配多个,只能替换一个,【这里可能是因为字节的原因】后来突然找到这么一种写法,解决了问题,另外为了避免,中文空格和英文空格相混杂的情形,后面又加了个/s来清除。

其实在Unicode上的正则表达式确实不怎么好用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: