在php中清除空格最简单的就是使用trim()函数,但这个函数往往是达不到我们想要的结果的,特别是字符串有像 \r\n这类字符时是无法制作 的,下面我介绍一个完美的方法来解决这个问题。
代码如下 |
复制代码 |
$str = " This line containstliberal rn use of whitespace.nn";
//去掉开始和结束的空白 $str = trim($str);
//去掉跟随别的挤在一块的空白 $str = preg_replace('/s(?=s)/', '', $str);
//最后,去掉非space 的空白,用一个空格代替 $str = preg_replace('/[nrt]/', ' ', $str);
echo "
{$str} ";?>
|
上例一步一步的去掉所有的空白。首先我们使用trim()函数来去掉开始和结束的空白。然后,我们使用preg_replace() 去除重复的。s代表任何whitespace 。(?=) 表示向前查找 。它味着只匹配后面有和它本身相同字符的字符。所以这个正则表达式的意思是: "被whitespace 字符跟随的任何whitespace 字符。" 我们用空白来替换掉,这样也就去除了,留下的将是唯一的whitespace 字符。
最后, 我们使用另一个正则表达式[nrt]来查找任何残余的换行符(n), 回车(r), 或制表符(t) 。我们用一个空格来替换这些。
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn