如何从html结构中提取标签

问题描述

例如有这么一段随机生成的html

<div>
    sad啊萨达萨达12321213!@#$
    <span class="123asd" id="123">$$%^asdsad</span>
    asdsadq啊萨达萨达
    <p class="_ _aaa">
        asdas啊萨达萨达!@#!@#
        <span>阿三打撒123!@#@sadas</span>
    </p>
</div>
1、层级随机
2、html中的标签随机
3、标签的class与id随机,可能为空
4、标签的内容随机,可能为空

那么用什么方法可以把这段HTML中的所有标签提取出来,注意!只要标签,要过滤内容
求助!

阅读 2.9k
2 个回答

可以用npm的模块,htmlparser2,进行解析。

var str = `<div>
    sad啊萨达萨达12321213!@#$
    <span class="123asd" id="123">$$%^asdsad</span>
    asdsadq啊萨达萨达
    <p class="_ _aaa">
        asdas啊萨达萨达!@#!@#
        <span>阿三打撒123!@#@sadas</span>
    </p>
</div>`
str.match(/(?<=<)\w+(?=[^>]*>)/g) // ["div", "span", "p", "span"]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题