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

如何在html-sanitizer中允许文本引号等特殊字符

解决sanitize-html转义特殊字符的问题

要让sanitize-html保留&、>、<、"这类原字符,不自动转换为HTML实体,只需在配置中添加encodeEntities: false参数:

let clean = sanitizeHtml(req.body.content, {
  allowedAttributes: {
    span: ["data-*", "class"],
  },
  encodeEntities: false // 关键配置:关闭实体编码
});

说明:

  • encodeEntities是sanitize-html的核心配置项,默认值为true,会自动将特殊字符转换为HTML实体以规避XSS风险。
  • 关闭该选项后,输入的&、<等字符会被原样保留,但sanitize-html依然会过滤危险HTML标签(如<script>)和未被允许的属性,XSS防护机制仍有效。
  • 需确保allowedTags(未显式设置时使用默认允许标签)和allowedAttributes配置准确,避免遗漏必要的安全限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:45:34