作者:兆龙77 | 来源:互联网 | 2018-03-22 08:56
在很多时候我们会碰到在字符串有会有空格,而这些空格不是我们想要的我们要怎么清除呢,下面我来介绍利用正则表达式来清除字符串中空白的办法。先利用trim系列函数来删除左右空格nbsp...
在很多时候我们会碰到在字符串有会有空格,而这些空格不是我们想要的我们要怎么清除呢,下面我来介绍利用正则表达式来清除字符串中空白的办法。
先利用trim系列函数来删除左右空格
代码如下 |
|
trim 去除一个字符串两端空格, rtrim 是去除一个字符串右部空格, ltrim 是去除一个字符串左部空格。 echo trim(" 空格 ")." "; echo rtrim(" 空格 ")." "; echo ltrim(" 空格 ")." "; ?> |
删除所有空格不能使用php trim()函数,因类他也只能是去除两边空闲
代码如下 |
|
function trimall($str)//删除空格 { $qian=array(" "," ","t","n","r"); $hou=array("","","","",""); return str_replace($qian,$hou,$str); }
|
上面只能删除是一些常见的空格了,下面分享一个更具体的。
代码如下 |
|
$str = " This line containstliberal rn use of whitespace.nn"; // First remove the leading/trailing whitespace //去掉开始和结束的空白 $str = trim($str); // Now remove any doubled-up whitespace //去掉跟随别的挤在一块的空白 $str = preg_replace('/s(?=s)/', '', $str); // Finally, replace any non-space whitespace, with a space //最后,去掉非space 的空白,用一个空格代替 $str = preg_replace('/[nrt]/', ' ', $str); // Echo out: 'This line contains liberal use of whitespace.' echo " {$str} "; |
中间就是利用了替换连续空格与左右空格之后再利用preg_replace替换去除重复的,然后再用另一个正则表达式[nrt]来查找任何残余的换行符(n), 回车(r), 或制表符(t) 即可。
永久链接:
转载随意!带上文章地址吧。