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