2010-10-12 29 views
16

如何在通過php插入文本時在textarea中創建新行?php ::新行在textarea?

我認爲這是\n但是,它會逐字地打印在textarea中。

感謝

+4

向我們顯示您的代碼,我打賭你正在做'echo'\ n';'而不是'echo'\ n「;'''。 – 2010-10-12 02:26:30

+0

其實我在做echo $ contact-> address; 爲了得到它的工作,我需要做'str_replace('\ n',「\ n」,$ contact-> address)'這是遲緩的。這是爲什麼? – Hailwood 2010-10-12 02:27:36

+0

你是如何存儲數據的。翻譯中有些東西正在迷失。你會add_slashes嗎?保存到數據庫? – 2010-10-12 02:31:28

回答

59

沒有看到您的代碼我不能確定,但​​我的猜測是您使用單引號('\ n')而不是雙引號(「\ n」)。

如果字符串用雙引號括起來,PHP將只計算轉義序列。如果你使用'\ n',PHP將會把它作爲一個字符串。如果您使用「\ n」,PHP將解析變量和轉義序列的字符串,並打印出您所期望的新行。

+2

如果你沒有使用引號;)(即它直接來自一個變量) – Hailwood 2010-10-14 00:00:36

+0

你是如何設置變量的?發表了一些代碼? – 2011-06-23 03:12:12

0

我有一個文本文件中使用\p。嘗試

-1
$row['content']=stripslashes($row['content']); 
$row['content']=str_replace('<br />',"newline",$row['content']); 
$row['content']=htmlentities($row['content']); 
$row['content']=str_replace('newline',"<br>",$row['content']); 
+0

歡迎來到SO吉姆,請爲你的答案添加一點解釋,請 – kolossus 2012-11-18 23:58:21

6

嘗試

$text = 'text line one' . PHP_EOL . 'text line two'; 
echo '<textarea>' . $text . '</textarea>'; 

將在texarea加上帕拉特行每個文本。

-3

使用這樣的動態輸入的每一行,你可以使用

echo chr(13) 
4

PHP端:從多行文本字符串PHP字符串

$newList = ereg_replace("\n",'|', $_POST['theTextareaContents']); 

PHP端:PHP串迴文本區的字符串:

$list = str_replace('|', '&#13;&#10;', $r['db_field_name']); 
+0

這是興奮地我正在尋找 – 2017-03-08 06:54:38

+0

令人敬畏的兄弟。它的工作正是我所需要的 – 2018-03-09 11:48:28

0

Alay Geleynse說的是對的,我和你有同樣的問題,並且問題是由於t o轉義字符(\ r,\ n)在那裏。爲了'未轉義'我使用的變量$var = stripcslashes($var),它顯示正確