【问题标题】:Replace '\n' with '<br>' PHP SQL table [duplicate]将 '\n' 替换为 '<br>' PHP SQL 表 [重复]
【发布时间】:2013-01-07 11:28:15
【问题描述】:

可能重复:
Replacing a newline with a <br> - PHP

我正在展示一个包含我的 SQL 数据库中的信息的表格。当我插入 MySQL 数据库时,我添加:

\n

当我“绘制”数据库时,我可以将其替换为:

<br>

它应该添加一个新行。这是我尝试过的,它似乎不起作用。它不会用&lt;br&gt; 替换\n,我看不出我做错了什么。(如果您想自己测试,这是下图中的代码;http://pastebin.com/PgWKD5Mg

但这似乎不起作用。它不会替换字符串,但是如果我将 $row['Info'] 替换为 Hello \n Test确实helloTest 打印到单独的行上,该代码将呈现:

注意:nl2br 功能也不起作用,不管怎样,这和那个一样

【问题讨论】:

  • 不要使用 MYSQL_**。试试 PDO,如果我想测试你的代码,我喜欢复制/粘贴。避免给我们漂亮的照片
  • 如果str_replacenl2br 都不起作用,那么这些值实际上可能没有换行符。查看生成的标记时,它是否包含 \n 字面意思?
  • 是的,我发布了一张包含我所做编辑的数据库图片。它确实有字符 '\n' 但它根本不会改变它。
  • @Cacoon 问题很可能是“\”和“n”字符集,而不是转义序列“\n”。换行符应该在浏览器中呈现为空格。试试 derWilly 的答案。
  • @cryptic 这是一个不同的问题,我已经查看了这些线程来解决我的问题。

标签: php sql database


【解决方案1】:

试试str_replace("\\n", "&lt;br&gt;", $row['Info']);

【讨论】:

  • +1 下次在数据库中插入真正的换行符。不是“反斜杠”+“n”。
  • 效果很好。谢谢老兄。
  • ... 或简单地使用'\n' 而不是"\n"
【解决方案2】:

你可以使用nl2br:

echo nl2br($result);

【讨论】:

  • 悲哀地不起作用):谢谢。
猜你喜欢
  • 2011-07-01
  • 2011-05-21
  • 2012-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
相关资源
最近更新 更多