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

如何避免数据库中的&LT在浏览器中显示为<?

解决数据库存储的&amp;LT在浏览器显示为<的问题

问题本质

这是HTML实体双重解析导致的:浏览器先把&amp;解析成&,剩下的&LT(大小写不影响解析)会被进一步解析成<,最终显示为小于号。

解决方案

根据实际需求分两种情况处理:

1. 希望浏览器显示原始的&amp;LT文本

  • 后端输出处理:生成HTML时,对数据库内容再做一次HTML转义,把所有&替换为&amp;。原内容&amp;LT会变成&amp;amp;LT,浏览器解析后就会显示为&amp;LT。
  • 前端框架渲染:如果用Vue、React等框架,别用v-html、dangerouslySetInnerHTML这类直接解析HTML的方式,改用普通文本绑定(比如Vue的{{ 内容 }}、React的{ 内容 }),框架会自动转义实体,阻止浏览器解析。

2. 实际想存储的是<,误存成了&amp;LT(需要显示<而非<)

这种情况是存储时多做了一次转义,要在输出前还原:

  • 后端处理:把数据库里的&amp;替换回&,得到&LT(即标准的<实体),输出到HTML后,浏览器会解析成<,符合预期。
  • 前端处理:用JS的decodeURIComponent或自定义函数反转义,比如把&amp;替换为&,再插入页面。

内容的提问来源于stack exchange,提问作者Don W.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:37:33