来自 textarea 和 mysql 的换行符不会出现在 html 中

Posted

技术标签:

【中文标题】来自 textarea 和 mysql 的换行符不会出现在 html 中【英文标题】:Line breaks from textarea and mysql dont appear in html 【发布时间】:2012-12-01 11:06:21 【问题描述】:

如何使文本出现在 html 中的差异行上?!当从 mysql 输出时,它们出现在我的文本区域的差异行上,也出现在 mysql 内部的差异行上。但在网页中,它全部集中在一条线上。怎么解决?

【问题讨论】:

【参考方案1】:

用途:

string nl2br ( string $string [, bool $is_xhtml = true ] )

它可以处理\n\r\r\n\n\r 换行符并将它们替换为<br />

例子:

$yourText = "This is line one.\nThis is line two.";
$yourText = nl2br($yourText);
echo $yourText;

这将导致:

This is line one.<br />This is line two.

Link to the manual for more information.

【讨论】:

nl2br 完成了这项工作。谢谢。我正要为此编写一个函数。很高兴我问了。【参考方案2】:

使用php nl2br函数:

$string = "hello \n world";
$string = nl2br($string);

这是不言自明的:\n 被替换为 &lt;br /&gt;

【讨论】:

【参考方案3】:

Linebreaks 替换为&lt;br&gt;

str_replace(.N, '<br>', [element]);

【讨论】:

【参考方案4】:

你可以使用&lt;pre&gt;..Your text..&lt;/pre&gt;标签。

【讨论】:

这个没试过,但简单地做 nl2br($string) 更好。

以上是关于来自 textarea 和 mysql 的换行符不会出现在 html 中的主要内容,如果未能解决你的问题,请参考以下文章

保留 TextArea 中的换行符

逐步存储textarea mysql php

javascript textarea POST 换行 MySQL

h:outputText 中的 textarea 预格式化和换行

从 MySQL TEXT 列中提取时在 HTML 中显示空格

JQuery Ajax Mysql 数据检索获得额外的回车并出现在 textarea