2012-05-15 82 views
3

如果如何從PHP中的字符串的開頭和結尾刪除尾部空格和「 」?

$text = '     MEANINGFUL THINGS GO HERE      '; 

我怎樣才能得到

$cleanText = 'MEANINGFUL THINGS GO HERE'; 

我知道下面將刪除所有的空格

$text=trim($text); 

但如何可以將實際躲過空間到裝飾,以及?

Meaningful Things可以包含[shortcodes],html標籤以及轉義字符。我需要這些來保存。

任何幫助,將不勝感激。 謝謝!

回答

8
$text = '     MEANINGFUL THINGS GO HERE      '; 

$text = preg_replace("#(^( |\s)+|( |\s)+$)#", "", $text); 

var_dump($text); 

//string(25) "MEANINGFUL THINGS GO HERE" 

額外的測試

$text = '   S     S  '; 
--> 
string(24) "S     S" 

$text = '         '; 
--> 
string(0) "" 

$text = '   &nbst; &nbst;   '; 
--> 
string(18) "&nbst; &nbst;" 
3

而且運行本的html_entity_decode,然後修剪:

$text=trim(html_entity_decode($text)); 
+1

如果我的'有意義things'這麼說有簡碼並在他們的轉義字符,他們會被保留下來嗎,最終我應該做一個逆向轉換嗎?我不想在有意義的事情上觸及任何東西。 – Mohammad

+0

之後你可以再做一次'htmlentities',是的。仍然沒有保證「有意義的東西」不會被改變,但它本質上應該是相同的。 –

+0

我喜歡這個想法,該解決方案看起來非常乾淨和高效,我認爲我會害怕將它放入生產代碼中,因爲它依賴於PHP的完整性,以鏡像形式進行這些轉換。我會測試它,然後我不確定我將如何徹底地測試它以確保它完美無瑕。 – Mohammad

相關問題