我在我的html中有一個textarea表單。如果用戶在2個句子之間輸入數據應該被帶到我的PHP。從textarea輸入捕獲換行符
目前,如果用戶輸入:
Apple
Google
MS
和我的PHP代碼:
$str = $_POST["field"];
echo $str;
我得到
Apple Google MS
作爲輸出。我想要輸出是這樣的
Apple
Google
MS
我該怎麼辦?
我在我的html中有一個textarea表單。如果用戶在2個句子之間輸入數據應該被帶到我的PHP。從textarea輸入捕獲換行符
目前,如果用戶輸入:
Apple
Google
MS
和我的PHP代碼:
$str = $_POST["field"];
echo $str;
我得到
Apple Google MS
作爲輸出。我想要輸出是這樣的
Apple
Google
MS
我該怎麼辦?
嘗試nl2br()
代替:
echo nl2br($str);
換行符應該包含在您從$_POST["field"]
獲得的字符串中。但是,如果您然後將該字符串用作HTML中的輸出,則換行符將被視爲空白。要強制換行,請使用preg_replace("/\n/", "<br />", $str)
。
這預浸料將失敗(無定界符),也爲什麼不'str_replace()函數'? – 2011-04-30 20:46:42
確實 - 解決了這個問題。無論如何,你的答案會更好。但是,解釋原因可能有助於更好地理解修復程序。 – Thilo 2011-04-30 20:49:28
這是因爲當你迴音它它被顯示爲HTML。 A \n
字符被解釋爲空格。如果你查看源代碼,你會看到你想要的輸出。
要轉換\n
到<br>
使用:
echo nl2br($str);
更好。不知道有一個專門用於此的內置功能。 – Thilo 2011-04-30 20:44:53