来自 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
被替换为 <br />
【讨论】:
【参考方案3】:将Linebreaks
替换为<br>
str_replace(.N, '<br>', [element]);
【讨论】:
【参考方案4】:你可以使用<pre>..Your text..</pre>
标签。
【讨论】:
这个没试过,但简单地做 nl2br($string) 更好。以上是关于来自 textarea 和 mysql 的换行符不会出现在 html 中的主要内容,如果未能解决你的问题,请参考以下文章
javascript textarea POST 换行 MySQL
h:outputText 中的 textarea 预格式化和换行