【发布时间】:2012-06-02 23:41:09
【问题描述】:
我希望将用户输入从 textarea 插入 mysql 数据库。截至目前,如果用户键入以下内容:
"Hello.
hello."
它将不带换行符插入到数据库中。我该如何解决这个问题?
【问题讨论】:
我希望将用户输入从 textarea 插入 mysql 数据库。截至目前,如果用户键入以下内容:
"Hello.
hello."
它将不带换行符插入到数据库中。我该如何解决这个问题?
【问题讨论】:
您可能正在使用 phpMyAdmin 来判断不存在换行符。如果是这样的话,那就是在骗你。 phpMyAdmin 将内容显示为 HTML,换行符转换为单个空格。
即使您只是输出值而不使用 phpMyAdmin,您的 HTML 仍然会折叠空白区域。要保留格式,请将其输出在<pre> 标签之间或以css 样式white-space: pre 的跨度中
【讨论】:
实际上换行符是插入到数据库中的,你只是看不到它们,因为它们是"\r\n",这是换行和回车,阅读更多关于他们的信息here
我认为您应该像这样存储数据:没有进行任何转换,当您将内容写入 HTML 时,您只需执行nl2br($content)。
而且它也很容易编辑,因为在将内容输出到 textarea 标签时,它会自动识别"\r\n"
【讨论】:
如果使用 PHP,我建议使用$message = nl2br($message);
这将为您将换行符变成 br。
【讨论】: