无法在textarea中显示带有新行的文本,如何保留它们?

时间:2014-10-07 08:11:25

标签: php mysql function nl2br

我的文字问题有新行... 我在我的数据库中插入文本,如下所示:

$descrizionetipologia = mysql_real_escape_string($_POST['descrtipologia']);
//insert query

我用

从数据库中取出它
 $descrizionetipologia=mysql_result($risultati,$i,"CA_DescrTipologia");
 //and I have to show it in a textarea with a javascript function.
 document.EDITform.EDITdescrtipologia.value="<?php echo $descrizionetipologia; ?>";

当我使用$ descrizionetipologia设置textarea的值时,如果文本有换行符,则textarea不会显示任何内容... 我添加了nl2br,mysql_real_escape_string,但我对这些函数有很多疑惑......

如果,当我想要显示它时,我会使用

$descrizionetipologia=str_replace(array("\r\n", "\n"),"",nl2br(htmlentities($descrizionetipologia)));

我看到了

PROVA <br> PROVA

但我不想要这个......我想要新行的文字......我想看看

PROVA
PROVA

我该怎么做?

1 个答案:

答案 0 :(得分:2)

不要设置textArea的值 - 将新行忽略为空格。而是设置innerHTML属性。

document.EDITForm.EDITdescrtipologia.innerHTML = "<?php echo addslashes ($descrizionetipologia); ?>";

(如果包含引号,则为addslashes)。这应该可以解决问题。