【问题标题】:Not able to show text with new line in textarea, how to preserve them?无法在 textarea 中显示带有换行符的文本,如何保存它们?
【发布时间】:2014-10-07 08:11:25
【问题描述】:

我对有新行的文本有疑问.. 我像这样在我的数据库中插入文本:

$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

我该怎么做?

【问题讨论】:

    标签: php mysql function nl2br


    【解决方案1】:

    不要设置 textArea 的值 - 忽略换行符作为空白。而是设置 innerHTML 属性。

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

    (如果它包含引号,则添加斜杠)。这应该可以解决问题。

    【讨论】:

    • 这行不通。在 textarea 中我什么也没看到:/
    • 生成的javascript是什么样的?浏览器中的调试引擎会显示哪些错误(如果有)?
    • 或者,尝试设置 innerText 尽管大多数浏览器都可以处理。
    • 问题是任何东西都通过设置.innerHTML顺便说一句,我用post方法解决了这个问题,而不是javascript,没有更多的问题,字符,新行等。但是谢谢为您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 2013-10-28
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 2012-04-21
    • 2021-09-16
    相关资源
    最近更新 更多