在HTML中显示MySQL的换行符

3

我们的MySQL数据库中某些字段似乎包含换行符,因此如果我在它们上执行SELECT操作,将会为单个SQL调用返回以下内容:

Life to be sure is nothing much to lose

But young men think it is and we were young

如果我想在网页上显示该字段时保留换行符,标准解决方案是编写脚本将'\n\r'替换为br HTML标签,还是有更好的方法?
谢谢!
3个回答

11

假设这里使用的是PHP...

nl2br()会为每个\n添加<br />。在使用前不要忘记对内容进行转义,以防止XSS攻击。请参见以下示例:

<?php echo nl2br(htmlspecialchars($content)); ?>

谢谢,有没有办法添加2个<br>标签? - BritishSam

4

HTML是一种标记语言。无论您在源代码中放置多少换行符,您都不会在演示文稿中看到任何内容(当然,假设您没有使用<pre>white-space:pre)。 HTML使用<br>元素表示换行。因此,您基本上确实需要通过HTML <br>元素将由字符xA(换行符,换行符,LF,\n)和/或xD(回车符,CR,\r)表示的真实且不可见的换行符转换。

在大多数编程语言中,您只需通过"\n"替换为"<br>"即可完成此操作。


1
你可以用<pre></pre>把它包装起来。

2
<pre>具有超越换行符的语义,我认为并不适用于这种情况。 - Agos
1
是的。最终一切取决于任务。 - Kuroki Kaze

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接