如何使用正则表达式删除其类的整个HTML标记(及其内容)?
发布时间:2020-12-14 06:24:55 所属栏目:百科 来源:网络整理
导读:我对 Regex不是很好,但我正在学习. 我想通过类名删除一些html标签.这是我到目前为止: div class="footer".*?(.*?)/div 首先 .*?是因为它可能包含其他属性,第二个可能包含其他html内容. 我究竟做错了什么?我试了很多但没有成功. 更新 在DIV内部,它可以包含
我对
Regex不是很好,但我正在学习.
我想通过类名删除一些html标签.这是我到目前为止: <div class="footer".*?>(.*?)</div> 首先 .*?是因为它可能包含其他属性,第二个可能包含其他html内容. 我究竟做错了什么?我试了很多但没有成功. 更新 在DIV内部,它可以包含多行,我正在使用Perl正则表达式.
您还希望在div标记之前允许其他内容
<div[^>]*class="footer"[^>]*>(.*?)</div> 另外,不区分大小写.您可能需要转义引号之类的内容或结束标记中的斜杠.你在做什么背景? 另请注意,使用正则表达式进行HTML解析可能会非常讨厌,具体取决于输入.在下面的答案中提出了一个很好的观点 – 假设你有一个像这样的结构: <div> <div class="footer"> <div>Hi!</div> </div> </div> 试图为此构建正则表达式是一种灾难.最好的办法是将文档加载到DOM中,然后对其进行操作. 应该紧密映射到XML :: DOM的伪代码: document = //load document divs = document.getElementsByTagName("div"); for(div in divs) { if(div.getAttributes["class"] == "footer") { parent = div.getParent(); for(child in div.getChildren()) { // filter attribute types? parent.insertBefore(div,child); } parent.removeChild(div); } } 这是一个perl库,HTML::DOM,另一个是XML::DOM.NET有内置的库来处理dom解析. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 正则匹配检索远端FTP目录下的文件
- 如何阅读cassandra nodetool histograms百分位数和其他列?
- vb.net – 在Accord.Net上使用AdaBoost(Boosting)
- Detailed Item Cost Report (XML) timed out waiting for t
- ruby-on-rails – 将文件从Chef客户端节点复制到工作站
- ruby-on-rails – 如何在rails 3.2.8上升级到最新版本的rub
- 使用基于文档的nosql(mongodb,couchdb和riak等)查询关系数据
- Net堆与栈的区别(3)谁的副本?
- Flex中带有三种状态CheckBox的Tree的实现
- Swift tableView单元格附件类型