使用Notepad ++删除特定的HTML标记

时间:2011-07-08 12:58:58

标签: regex notepad++

我想听听是否有人可以帮助替换我的大型XML文件的HTML标记。

XML文件有我自己的架构,一切都很好。但我需要删除<sspan>, <style>, <div>标记中的<p>和属性。

例如,我需要保留所有<ul>, <ol>, <li>, <strong>, <a>, <img>和其他代码,但删除<div>(带属性),<span>(带属性)和<p>中的属性标签

我在本网站和许多其他网站上尝试过很多例子。但是他们中的大多数都没有用。

1 个答案:

答案 0 :(得分:4)

引自an answer I posted yesterday

  

我听说过一些非常好的事情   Beautiful SoupHTML PurifierHTML Agility Pack,它们使用Python,PHP和   分别是.NET。相信我 - save yourself some pain并使用它们   代替。

强烈建议您不要使用正则表达式。没有理智的正则表达式会起作用,或者甚至可能接近工作。但是,一个体面的XML解析器可以相当容易地做到这一点。我不确定您可以访问哪些编程语言,但如果您可以使用PHP,.NET或其他编程语言,则可以使用上述解析器查找每个spanstyle,{{ 1}}和div并删除属性或整个标记。

jQuery为你描述的DOM操作提供了一些很好的功能,你可以使用它来生成HTML然后剪切和粘贴。

如果你绝对必须使用正则表达式,你可以试试这个:

  • 模式:p
  • 更换:(没有)

  • 模式:<\s*/?\s*(span|style|div)\b[^>]*?>
  • 替换:<\s*p\b[^>]*?>