You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HTML/PHP页面中保留SQL数据库中的换行符?

解决数据库换行符在HTML/PHP页面正常显示的问题

这是个很常见的问题——HTML本身不会解析纯文本里的换行符(比如\n或\r\n),所以直接输出数据库里的内容时,所有换行都会被忽略。这里有两种简单有效的解决办法:

方法1:使用PHP的nl2br()函数

这个函数专门用来把文本中的换行符转换为HTML的<br>标签,是处理这类问题的首选方案。只需要在输出评论内容时用它包裹即可,同时建议搭配htmlspecialchars()来转义特殊字符,避免XSS风险:

$sql = "SELECT * FROM table";
$result = mysqli_query($con,$sql);
while($item= mysqli_fetch_assoc($result)){
    echo nl2br(htmlspecialchars($item['comment']));
}

nl2br()会把所有的\n(包括Windows系统的\r\n)替换成<br />,这样浏览器就能正确渲染换行了;htmlspecialchars()则会把<、>、&等特殊字符转义成HTML实体,防止恶意代码被执行。

方法2:用<pre>标签包裹内容

如果你想保留文本里的原始格式(包括换行和空格),可以用HTML的<pre>标签包裹输出内容,同样记得转义特殊字符:

$sql = "SELECT * FROM table";
$result = mysqli_query($con,$sql);
while($item= mysqli_fetch_assoc($result)){
    echo '<pre>' . htmlspecialchars($item['comment']) . '</pre>';
}

<pre>标签会按照文本的原始格式显示,但它默认的字体是等宽字体,可能需要调整CSS样式来匹配你的页面风格。

两种方法都能解决你的问题,根据页面的样式需求选择就行~

内容的提问来源于stack exchange,提问作者Julian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:59:44