【问题标题】:display mysql newline in HTML在 HTML 中显示 mysql 换行符
【发布时间】:2010-12-25 08:40:53
【问题描述】:

我们的 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 标记的标准解决方案还是有更好的方法?

谢谢!

【问题讨论】:

    标签: mysql html newline line-breaks


    【解决方案1】:

    假设这里是 PHP...

    nl2br() 为每个\n 添加<br />。不要忘记先对内容进行转义,以防止 XSS 攻击。见下文:

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

    【讨论】:

    • 谢谢,有没有办法添加2个
      标签?
    【解决方案2】:

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

    在大多数编程语言中,您只需将"\n"字符串替换 替换为"&lt;br&gt;"

    【讨论】:

      【解决方案3】:

      你可以用&lt;pre&gt; .. &lt;/pre&gt; 包装它。

      【讨论】:

      •  的语义远远超出换行符,我认为不适用于这种情况。
      • 是的。最后,这一切都取决于任务。
      猜你喜欢
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 2016-07-06
      相关资源
      最近更新 更多