我正在尝试删除 javascript 中过多的结束标记以及此后的任何内容。
这是一个可能的示例:
<div class="dummy">
<div class="main">
<div></div>
<img src="a.jpg">
<br>
<img src="b.jpg />
<strong>
<span>text</span>
</strong>
</div>
</div>
***excessive tags below***
</div>
</div>
<div class="footer">
text
</div>
</body>
</html>
关于如何有效地做到这一点有什么想法吗? 我想要提取的部分始终是一个div,但问题是它可能有尽可能多的嵌套div,我不知道如何处理这种情况。
如果可以分多个步骤完成或使用回调来完成也可以,只要它有效。
编辑 我的问题实际上比看起来更容易。 示例始终以我要提取的 div 开头。 所以我需要做的就是找到匹配的结束标签,并过滤后面的任何内容。 不关心任何其他标签...
最佳答案
不要使用正则表达式,根据我的理解,你想保留虚拟类 div 和页脚类 div 那么为什么不用它替换正文呢?
例如
var dummy = document.getElementsByClassName('dummy')[0];
var footer = document.getElementsByClassName('footer')[0]
var body = document.getElementsByTagName('body')[0];
body.innerHTML = '';
body.appendChild(dummy);
body.appendChild(footer);
关于Javascript正则表达式删除不匹配的结束HTML标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42709986/