【问题标题】:insert user input into mysql database as styled by the user (with line breaks)按照用户的样式将用户输入插入 mysql 数据库(带换行符)
【发布时间】:2012-06-02 23:41:09
【问题描述】:

我希望将用户输入从 textarea 插入 mysql 数据库。截至目前,如果用户键入以下内容:

"Hello.


hello."

它将不带换行符插入到数据库中。我该如何解决这个问题?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    您可能正在使用 phpMyAdmin 来判断不存在换行符。如果是这样的话,那就是在骗你。 phpMyAdmin 将内容显示为 HTML,换行符转换为单个空格。

    即使您只是输出值而不使用 phpMyAdmin,您的 HTML 仍然会折叠空白区域。要保留格式,请将其输出在<pre> 标签之间或以css 样式white-space: pre 的跨度中

    【讨论】:

      【解决方案2】:

      实际上换行符是插入到数据库中的,你只是看不到它们,因为它们是"\r\n",这是换行回车,阅读更多关于他们的信息here

      我认为您应该像这样存储数据:没有进行任何转换,当您将内容写入 HTML 时,您只需执行nl2br($content)

      而且它也很容易编辑,因为在将内容输出到 textarea 标签时,它会自动识别"\r\n"

      【讨论】:

        【解决方案3】:

        如果使用 PHP,我建议使用$message = nl2br($message);

        这将为您将换行符变成 br。

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-26
        • 1970-01-01
        • 2015-04-25
        • 1970-01-01
        • 2016-06-19
        相关资源
        最近更新 更多