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

Node.js中使用sanitize-html移除默认包含的SPAN标签的最优方法

移除sanitize-html中的SPAN标签的更优方案

不用手动编写完整的保留标签列表,有两种更高效的实现方式:

  • 基于默认标签集合过滤SPAN
    直接获取sanitize-html的默认允许标签数组,过滤掉span即可,这样能自动同步官方默认标签的更新,无需手动维护完整列表:

    const sanitizeHtml = require('sanitize-html');
    
    // 过滤默认允许标签中的span
    const allowedTags = sanitizeHtml.defaults.allowedTags.filter(tag => tag !== 'span');
    
    const rawHtml = '<div><span class="test">需要保留的内容</span>外部文本</div>';
    const cleanedHtml = sanitizeHtml(rawHtml, { allowedTags });
    
    // 输出结果:<div>需要保留的内容外部文本</div>
    
  • 使用transformTags直接移除SPAN标签
    通过transformTags配置,将span标签转换为null,这样会直接移除标签但保留内部内容,适合需要单独处理特定标签的场景:

    const sanitizeHtml = require('sanitize-html');
    
    const rawHtml = '<div><span>SPAN内的内容</span>其他内容</div>';
    const cleanedHtml = sanitizeHtml(rawHtml, {
      transformTags: {
        span: () => null
      }
    });
    
    // 输出结果:<div>SPAN内的内容其他内容</div>
    

这两种方法都比手动编写全量标签列表更简洁且易维护,第一种方法更适合需要继承大部分默认标签规则的场景,第二种则更灵活,可针对单个标签做特殊处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:59:53