求助 js 正则移除多余的 html 标签嵌套。

2020-11-22 14:30:03 +08:00
 huangsong

正则小白,目前在做数据采集解析,发现回来的数据中包含了很多嵌套的标签,例如:

<div>
<article> 
 <article> 
  <article> 
   <article> 
    <article> 
     <div> 
      <article> 
       <article> 
        确保各项部署要求落实落地。 
        <br> 报告会在市里设场收听收看。 
       </article> 
      </article> 
     </div> 
    </article> 
   </article> 
  </article> 
 </article> 
</article> 
<span data-index="183" data-textnode-index="2" data-raw-text="">编辑</span>
</div>

希望能通过正则处理掉多余的嵌套标签,得到合理的格式,如:

<div>
<article> 
        确保各项部署要求落实落地。 
        <br> 报告会在市里设场收听收看。 
</article>
<span data-index="183" data-textnode-index="2" data-raw-text="">编辑</span>
</div>

求一个正则。

1000 次点击
所在节点    问与答
3 条回复
ysc3839
2020-11-22 14:38:14 +08:00
搜索 <article>\s*<article>,替换为 <article>
</article> 同理。
muzuiget
2020-11-22 20:55:09 +08:00
正则处理不了这种情况的,连匹配嵌套开闭括号都不行,所以老实用 DOM 操作库。
assilzm
2020-11-23 10:15:38 +08:00
嵌套处理需要平衡,目前.net 和 php 可以办到 其他语言基本上都不行 老实用 dom 解析吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX