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

PHP输出数据库存储的HTML代码不解析,直接打印源码求助

解决HTML实体无法渲染为标签的问题

你碰到的这个问题很常见——数据库里存的是转义后的HTML实体(比如&lt;b&gt;),直接输出的话浏览器会把它当成纯文本,而不是解析成对应的<b>标签。下面给你两个解决方案,还附带安全提醒:

1. 反转义HTML实体

PHP自带的htmlspecialchars_decode()函数可以把这些转义后的实体还原成原本的HTML标签,直接在输出时调用就行:

<div style="overflow: auto;width: 100%" align="left"> 
    <?php echo htmlspecialchars_decode($getlistingdata->ldesctiption); ?> 
</div>

如果发现一次反转义不够(比如内容被多次转义过),可以多调用几次这个函数,比如htmlspecialchars_decode(htmlspecialchars_decode($getlistingdata->ldesctiption))。

2. 安全过滤(重要!)

如果这些内容是用户提交的(比如评论、用户描述),直接解析HTML可能会有XSS攻击风险。建议先用strip_tags()过滤掉危险标签,只保留你允许的标签,比如只保留<b>:

<?php
// 先反转义,再过滤标签,只允许<b>
$safeDescription = strip_tags(htmlspecialchars_decode($getlistingdata->ldesctiption), '<b>');
?>
<div style="overflow: auto;width: 100%" align="left"> 
    <?php echo $safeDescription; ?> 
</div>

为什么会出现这个问题?

大概率是你在把内容存入数据库时,用了htmlspecialchars()或者类似的转义函数,把HTML标签转换成了实体(防止SQL注入或者破坏页面结构),但取出的时候没有做对应的反转义操作,导致浏览器无法识别这些标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:59:13