2009-09-07 76 views
3

我正在使用nl2br將nl字符轉換爲
標記,但爲了前例,我想將「Hello \ n \ n \ n \ n Everybody」轉換爲「您好
大家」我也想轉換多線程到一個br標籤。我怎樣才能做到這一點 ?nl2br多個換行

回答

8

最直接的辦法可能是先用一個使用簡單的正則表達式替換多個換行符:

nl2br(preg_replace("/\n+/", "\n", $input)); 
+0

謝謝你的解決方案。我還有一個問題。我如何允許1和2換行? – mTuran 2009-09-07 23:42:03

+0

如果你想保留多達兩個'\ n'字符,只需將其中的兩個放入正則表達式中並替換:'preg_replace(「/ \ n \ n + /」,「\ n \ n」,$ input)' – VoteyDisciple 2009-09-08 01:41:57

0

我想嘗試使用的preg_replace()先用單換行符替換重複換行符,然後使用nl2br轉換爲HTML
標籤。 nl2br(preg_replace('/\n+/', '\n', $the_string))應該做的伎倆(未經測試)。

3

如果您對PHP 5.2.4+可以使用的preg_replace和垂直空白字符類型\v

$str = preg_replace('/\v+/','<br>', $str);