2014-10-22 305 views
0

我有一個textarea字符串,我想刪除最後一個字或字符後的所有新行?刪除字符串末尾的新行

比如我有一個從文本框這個字符串

$str = "Hi, my name is Blah 

x) 

"; 

我需要的最後一個單詞或字符是X)

所以結果應該是這樣的

後去除新線
$result = "Hi my name is Blah 

x)"; 

我試過str_replace,爆炸,rtrim但我想不出算法。

注意:我不想刪除所有新行。只是最後一個字或字後的那個。 TIA

+0

無法連接到一臺計算機進行測試,但'$結果=的preg_replace( '/ \ s + $ /', '',$ STR)'應該工作。 – Jhecht 2014-10-22 03:36:39

+0

*見注。謝謝。它所做的就是刪除所有換行符。 – 2014-10-22 03:40:31

+0

應該只在最後刪除換行符,因此'$' – Jhecht 2014-10-22 03:41:44

回答

2

rtrim()有什麼問題?如果你省略了第二個參數,它會做剛好你想要的。

該函數返回一個字符串,其中包含從str的末尾 中除去的空格。

沒有第二參數,RTRIM()將去除這些字符:

「」(ASCII 32(0×20)),一個普通的空間。
「\ t」(ASCII 9(0x09)),一個選項卡。
「\ n」(ASCII 10(0x0A)),換行(換行)。
「\ r」(ASCII 13(0x0D)),回車。
「\ 0」(ASCII 0(0x00)),NULL字節。
「\ x0B」(ASCII 11(0x0B)),一個垂直標籤。

這裏是Codepad演示

+0

正確。我忘了nl2br。謝謝! – 2014-10-22 03:46:41

+0

不客氣。僅供參考'nl2br'只是爲了向您顯示字符串中沒有尾隨的新行字符。 – peterm 2014-10-22 03:48:46

+0

是的。我試圖在不使用nl2br的情況下回顯字符串,這就是爲什麼我認爲rtrim不工作。再次感謝。 – 2014-10-22 03:55:35