网站建设资讯

NEWS

网站建设资讯

php如何去掉中文空格

这篇文章主要介绍“php如何去掉中文空格”,在日常操作中,相信很多人在php如何去掉中文空格问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何去掉中文空格”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为平阳企业提供专业的网站设计、成都网站建设平阳网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

php去掉中文空格的方法:1、使用正则“preg_replace('/^[(\xc2\xa0)|\s]+/', '', $new['content']);”去掉中文空格;2、通过mb中的正则替换去掉中文空格。

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php怎么去掉中文空格?

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

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

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

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

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

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

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

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

其实在Unicode上的正则表达式确实不怎么好用。

其他参考:

日常我们处理数据时经常会产生额外的空格,如果你想进行诸如比较字符串时,就会引致问题;同时也浪费额外的储存空间。

如何除掉空格?也许你首先会想到PHP内建函数trim()。没错,它处理字符的始末部分确实有效,但是,这种情况下它就办不到了:将多个空格变为一个空格,将空格变为有序的规则的队列等等…

于是,正则表达式就派上用场了。看看下面的代码:

$str = ” This line contains\tliberal \r\n use of   whitespace.\n\n”;
// 首先去掉头尾空格
$str = trim($str);
// 接着去掉两个空格以上的
$str = preg_replace(’/\s(?=\s)/’, '', $str);
// 最后将非空格替换为一个空格
$str = preg_replace(’/[\n\r\t]/’, ' ', $str);

使用上面的例子可以去掉所有多余的空格。首先使用TRim()去头尾空格,接着用preg_replace()去掉重复的空格。

当中的(?=)表示只匹配后面的空格跟随前面的空格的空格。

到此,关于“php如何去掉中文空格”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前题目:php如何去掉中文空格
网页网址:http://cdweb.net/article/pphdes.html