2011-01-27 102 views

回答

9

删除空格和制表符

preg_replace("/[ \t]+/", " ", $myval); 

仅删除空格

preg_replace("/[ ]+/", " ", $myval); 
+0

其实你的代码删除所有空格和跳 – 2011-01-27 13:07:58

+0

这REG删除所有空格或制表符。 – MDI 2011-01-27 13:08:05

3

删除2或多个空格:

preg_replace("/[ ]{2,}/", " ", $myval); 
2

这将用空格替换所有的 “空间”,但换行

$str = "a bc 


d e  f"; 
$str = preg_replace('/[^\S\n]+/', ' ', $str); 
echo $str,"\n"; 

输出:

a bc 


d e f 
0

要在字符串中的一个空格替换所有水平的空白符号,你可以使用

preg_replace('/\h+/', ' ', $str); 

其中\h是PCRE专用速记字符类匹配all characters that \p{Zs} matches加上U+0009(水平标签)。

的量词+\h后使得能够匹配一个或多个水平的空白码元。为了只匹配两个或多个出现,用限制量词:

preg_replace('/\h{2,}/', ' ', $str); 
相关问题