2014-07-01 21 views
0

,如果它的設置,我呼應了多行的會議上串入一個textarea:保存文本區域爲會議和回聲無明顯斷行格式

<textarea><?php if (isset($_SESSION['saved_text'])) { echo nl2br($_SESSION['saved_text']); } ?></textarea> 

如:

"Line 1 
Line 2 
Line 3" 

當它回到textarea會話回來:

"Line 1\r\nLine 2\r\nLine 3" 

但我想它它是如何被格式化在stri ng,用換行符,但沒有明確地將它們顯示爲「\ n」等。我該怎麼做?

回答

1

你不需要nl2br在textarea中顯示新行。

<textarea><?php if (isset($_SESSION['saved_text'])) { echo $_SESSION['saved_text']; } ?></textarea> 

這將工作。 或者文本包含一些特殊的字符,你可以使用htmlspecialchars()

<textarea><?php if (isset($_SESSION['saved_text'])) { echo htmlspecialchars($_SESSION['saved_text']); } ?></textarea> 

UPDATE

看來\r\n在DB保存之前蜜蜂逃了出來,現在他們都只是文字的字符,從而以刪除它們,你需要將它們刪除作爲一個字符,你可以使用str_ireplace()這個

<textarea><?php if (isset($_SESSION['saved_text'])) { echo str_ireplace("\\r\\n", "\r\n", $_SESSION['saved_text']); } ?></textarea> 
+0

奇怪的是沒有工作,仍然給我同樣的重如前所述 – user1228907

+0

P.s.會話來自同一個textarea – user1228907

+0

可能'\ n \ r'通過轉義文本保存在文本中,嘗試回顯'$ _SESSION ['saved_text']'並查看它打印的內容(查看頁面源)。 – Shubanker