我想听听是否有人可以帮助替换我的大型XML文件的HTML标记。
XML文件有我自己的架构,一切都很好。但我需要删除<sspan>, <style>, <div>
标记中的<p>
和属性。
例如,我需要保留所有<ul>, <ol>, <li>, <strong>, <a>, <img>
和其他代码,但删除<div>
(带属性),<span>
(带属性)和<p>
中的属性标签
我在本网站和许多其他网站上尝试过很多例子。但是他们中的大多数都没有用。
答案 0 :(得分:4)
引自an answer I posted yesterday:
我听说过一些非常好的事情 Beautiful Soup,HTML Purifier和HTML Agility Pack,它们使用Python,PHP和 分别是.NET。相信我 - save yourself some pain并使用它们 代替。
我强烈建议您不要使用正则表达式。没有理智的正则表达式会起作用,或者甚至可能接近工作。但是,一个体面的XML解析器可以相当容易地做到这一点。我不确定您可以访问哪些编程语言,但如果您可以使用PHP,.NET或其他编程语言,则可以使用上述解析器查找每个span
,style
,{{ 1}}和div
并删除属性或整个标记。
jQuery为你描述的DOM操作提供了一些很好的功能,你可以使用它来生成HTML然后剪切和粘贴。
如果你绝对必须使用正则表达式,你可以试试这个:
p
<\s*/?\s*(span|style|div)\b[^>]*?>
<\s*p\b[^>]*?>