2010-10-12 51 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),它显示正确