我有一个简单的问题,希望有一个简单的解决方案: 我有一个用PHP和HTML编写的网站,使用带有MySQL的Linux服务器。 它有一个表单,用户填写一些个人信息,包括textarea 它们用于复制和粘贴测试简历。
我还为我的客户端设置了一个后端,在那里她可以查询数据库以查看谁 注册并检索他们的信息。
我的问题是,当我查询并回显包含该表的行的内容时 CV(很多文字),换行符都消失了 - 所有内容都打印在一行中。
有人知道我是否可以通过使用正确的排序/字符编码来解决这个问题 对于包含用户的cvs的特定行?我希望存在这样的校对,以节省和维护换行符。
答案 0 :(得分:0)
使用nl2br($text)
添加HTML换行符。
答案 1 :(得分:0)
我不认为整理与此有关。来自textarea
的中断行以\n
或\r
字符的形式出现。如果你没有做任何“怪异”的事情,那些断裂线应该存储在数据库中。
我认为您的问题是当您回显表的内容时,因为浏览器不会将\n
和\r
显示为新行,您必须将它们替换为{{1元素或将每个段落包装在<br/>
您可以使用nl2br()。
答案 2 :(得分:0)
校对与它无关 - 校对和字符集根本不会触及你的换行符。如果你想看到它,请查看echo'd文本的页面源。
但是,HTML在正常情况下会像所有其他空格一样处理换行符,因此当您将它们回显到浏览器时它们将不可见。你不应该将纯文本输出为HTML,因为它们不一样。您必须先将纯文本转换为HTML;一个简单的方法是在文本上调用htmlspecialchars()
和nl2br()
(按此顺序,否则htmlspecialchars将使用新创建的br标记并将其转换为<br/>
。如果不这样做将会不仅会产生不希望的输出,还会带来很大的安全风险(XSS)。
答案 3 :(得分:0)
或如何在<pre>
</pre>