HTML 剔除无用的 font 标签和 span 标签

发布于 2022-09-13 01:24:41 字数 815 浏览 22 评论 0

现在有一个 HTML

<p>
    "ab"
    <font>
        <span>cd</span>
    </font>
    <font>
        <font>
            <span>
                <img xxx>
            </span>
        </font>
    </font>
    <span>ef</span>
    <font>
          <span>gh</span>
    </font>
</p>

这是一个带有未知层 font / span 嵌套的 HTML 片段, 然而这些 font 标签和 span 标签是没有意义的, 我想剔除这些标签, 转换成如下的形式

<p>
    <p>ab</p>
    <p>cd</p>
    <img xxx>
    <p>ef</p>
    <p>gh</p>
</p>

这是一个简单的示例, 不单单有 font 和 span, 该死的 IE 把能带上的没用的标签都给带上了, 而且每个标签都有 N 个值为未知的属性.

请问我该如何操作? 原生 js / jquery 均可, 兼容 IE 11.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花开半夏魅人心 2022-09-20 01:24:41

全局替换;把不要font和span全局替换成空串

世界和平 2022-09-20 01:24:41

声明一个数组arr,可以递归下各节点,然后从最子节点向上查找,如果el.childNodes长度为0的时候remove节点(如果el.innerText有值先追加到变量再移除节点)arr.push("<p>"+el.innerText+"</p>"),特殊标签单独处理 (img等),判断为特殊标签,也是先push再移除节点,以此类推

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文