我有文本区域,当用户提交表单时,我将数据保存到我的数据库中 在db中,换行工作非常出色但是当用echo回显它们时,换行符消失了:( 我检查了所有的东西并删除了所有的验证函数,如strip_tags等等,只是从db打印出来但是同样的事情,所以任何人都可以告诉我出了什么问题? thnx提前
答案 0 :(得分:5)
textarea
中的换行符为\r\n
,而对于浏览器,换行符只是空格。您需要将其替换为<br />
标记。 php处理它,你有nl2br
功能:
echo nl2br($stringFromDB);
注意:当您输出用户输入时,请始终先将其转义。所以基本上你应该这样做:
// Chaining functions like this is bad. Avoid in real world apps.
echo nl2br(htmlspecialchars($stringFromDB, ENT_QUOTES, 'UTF-8'));