2013-03-04 123 views
1

我有一個正則表達式和PHP的一個問題,我有這個字符串:剝離空白PHP

Panorama - SPIEGEL ONLINE - Nachrichten                                    Schlagzeilen      Hilfe      RSS      Newsletter      Mobil      Wetter      TV-Programm               Dienstag, 26. Februar 2013         Panorama                                                         NACHRICHTEN                Home                 Politik Deutschland            Ausland                                                 WirtschaftB 

我想去除所有的空間,這是不需要的,因此所有的空格,但一個,這樣的話仍然被一個空間隔開。
我寫這個正則表達式:

echo trim(preg_replace("/\s+/", " ", $lol)); 

而且我非常接近:

Panorama - SPIEGEL ONLINE - Nachrichten Schlagzeilen Hilfe RSS Newsletter Mobil Wetter TV-Programm Dienstag, 26. Februar 2013 Panorama NACHRICHTEN Home Politik Deutschland Ausland WirtschaftB 

我缺少什麼?非常感謝你!

+2

您的代碼基本上是正確的,你只是用一種錯誤的報價。在雙引號內,您需要轉義反斜槓'\\ s'。 – Barmar 2013-03-04 23:09:23

+0

非常感謝你,並且很抱歉重複!並感謝downvote -.- – 2013-03-04 23:14:43

回答

2

問題是 。這是瀏覽器中不可分離的空間。使用此:

$string = "Panorama - SPIEGEL ONLINE - Nachrichten                                    Schlagzeilen      Hilfe      RSS      Newsletter      Mobil      Wetter      TV-Programm               Dienstag, 26. Februar 2013         Panorama                                                         NACHRICHTEN                Home                 Politik Deutschland            Ausland                                                 WirtschaftB"; 
$string = str_replace(" "," ",$string); 

echo preg_replace('!\s+!', ' ', $string); 

演示:http://sandbox.onlinephpfunctions.com/code/8c85dcc5ba0c9aa9306125ad5878c02d07fcf452