我正在從textarea收集文本。文本中有換行符。然後我將它保存到數據庫中。MYSQL PHP在textarea中保存換行符以備以後顯示
但是,當我從數據庫中檢索它並將其顯示回textarea中進行編輯時,換行符就消失了,文本變成了一個長的運行字符串。
我想原來那裏的換行符重新出現。如何將換行符插入到textarea中時如何顯示?
注:我不能只需將它們轉換爲<br>
,因爲這會一個textarea其中<br>
內容將不會被渲染裏面,只是寫出文本。我想要實際的換行符。
我正在從textarea收集文本。文本中有換行符。然後我將它保存到數據庫中。MYSQL PHP在textarea中保存換行符以備以後顯示
但是,當我從數據庫中檢索它並將其顯示回textarea中進行編輯時,換行符就消失了,文本變成了一個長的運行字符串。
我想原來那裏的換行符重新出現。如何將換行符插入到textarea中時如何顯示?
注:我不能只需將它們轉換爲<br>
,因爲這會一個textarea其中<br>
內容將不會被渲染裏面,只是寫出文本。我想要實際的換行符。
這是這類問題打交道時,我通常做的:
在顯示數據,每換行轉換爲<br />
:
echo str_replace("\n", "<br />", $data);
使用這種技術,你可以保存在您的textarea的用戶使用的任何格式的數據。
無法使用
,因爲它在textarea框中顯示爲標籤。我將嘗試保存\ n作爲其他類似***的內容,當我在textara中顯示時,請使用您的建議將***替換爲\ n,然後查看它是否有效。 –
user1260310
我的方法沒有奏效。根本沒有打印。所以還在尋找答案。 – user1260310
這裏的交易:通常,用戶將使用[返回]作爲新行。這個翻譯爲'\ n'。保持原樣並將其存儲到數據庫。下次用戶想要更改內容時,只需向他們展示保存的任何數據(包括'\ n')。但是,如果要將數據顯示爲html,請首先將它們格式化,方法是用'
'替換'\ n'。 –
ariefbayu
str_replace()
不會是這樣的:
echo str_replace($data, "\n", "<br />");
它是這樣的:
str_replace("SEARCH_FOR","REPLACE_WITH",STRING);
在這個意義上,SEARCH_FOR
是你正在努力尋找什麼,REPLACE_WITH
是你想要什麼替換爲,並且STRING
是您正在使用的變量(例如$data
)。
您coud使用這樣的事情:
echo nl2br($someText);
每個人都建議對換行轉換爲<br />
,但是當你在你的問題說,這不是你想要的。您想要再次在textarea中顯示換行符。所以,你需要的就是stripcslashes()
- 這將剝去\n
,給你你以後,你的textarea的是換行符,在textarea的不是HTML <br />
標籤:
PHP:stripcslashes
用法:
echo stripcslashes($input_text);
這正是爲我工作的。謝謝! – xeo
你不能用字符串替換函數來替換\ n與
嗎?或者我沒有清楚地得到你的問題 – samayo
厄立特里亞,OP應該沒有理由做這樣的事情。 MySQL自己保存'\ n'就好了。 –
如果您查看頁面的來源,編輯字段中的行是否正確拆分? – tadman