【问题标题】:Why are the line breaks gone when I retrive data from my SQL database?为什么当我从 SQL 数据库中检索数据时换行符消失了?
【发布时间】:2022-12-18 17:54:52
【问题描述】:

我创建了一个网站,用户可以在其中的文本区域中输入内容。然后将文本保存到我在 phpMyAdmin 的数据库中。但是,当我从数据库中检索数据并在屏幕上“回显”它时,用户包含的所有换行符都消失了。

有人对此有解决方案吗?

我尝试过不同的东西,比如在 UI 中包含一个“换行”按钮,但这不是很方便。我想知道是否还有其他显示换行符的方法?

【问题讨论】:

  • 您需要使用nl2br()
  • 这回答了你的问题了吗? PHP nl2br() basic function
  • HTML 和纯文本使用不同的换行符号。所以你看到的将取决于输出上下文

标签: php database phpmyadmin


【解决方案1】:

你可能想使用 nl2br() 函数:

$text = "Hello,
world!";
echo nl2br($text);

这将回应:

Hello,<br>
world!

【讨论】:

    【解决方案2】:

    如果要显示文字确切地因为它是在网页上输入的,所以 &lt;pre&gt;&lt;/pre&gt; 块可能最适合您。

    不过,如果您采取更多措施来清理您打算返回浏览器的任何用户提供的文本,以避免 XSS 和其他漏洞利用,那将是最好的。

    例如,如果用户向您发送了一个脚本块,您将其返回给任何人的浏览器怎么办?

    【讨论】:

      猜你喜欢
      • 2016-02-18
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 2020-11-06
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      相关资源
      最近更新 更多