2010-07-13 38 views
1

我怎麼能識別每一個linebreak?它不會放在每一個新的行上。如何識別每個換行符?

我目前使用這個'> ' . str_replace("\n", "\n> ", $msg);

輸出:

[i]Originally posted by DiSanti[/i] 
> Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
> Morbi in nunc vitaemauris.  
semper posuere sed nec metus. Phasellus fermentum mattis convallis. Integer 
nuncelit.  
vestibulum a hendrerit in, volutpat eu arcu. Nulla aliquet, leo 
acscelerisque.    

我希望它看起來像:

[i]Originally posted by DiSanti[/i] 
> Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
> Morbi in nunc vitaemauris.  
> semper posuere sed nec metus. Phasellus fermentum mattis convallis. Integer 
> nuncelit.  
> vestibulum a hendrerit in, volutpat eu arcu. Nulla aliquet, leo 
> acscelerisque.    
+0

str_replace(「\ n」,「
」,$ msg);如果是HTML格式,並且你已經有了\ n的文字,它會使它看起來像你想要的那樣... 它不會爲你設置格式,但只會讓它看起來像一個新的行,有一個。 – Prix 2010-07-13 23:03:03

回答

1

的問題是換行不存在。你可以用wordwrap強制一個最大的線條大小,而不會打破文字。

嘗試類似;

$t = explode("\n", wordwrap($orig)); 
$t = array_map(function ($line) { return "&gt; $line<br />"; }, $t); 
$final = implode("\n", $t); 
+0

謝謝!它就像我現在想要的那樣工作:) // 「您可以在5分鐘內接受答案」 – DiSanti 2010-07-13 23:09:55