2011-01-27 103 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); 
相關問題