如何删除HTML <a> tags in a CDATA element</a>

时间:2010-03-15 16:29:27

标签: html xml string cdata

我在CDATA元素中有HTML(HTML太糟糕了,无法解析)我希望删除<a href>标记,但在标记中保留文字。

我正在寻找正则表达式,但仍然没有找到一个好方法。

欢迎所有建议!

1 个答案:

答案 0 :(得分:1)

可以通过正则表达式删除看起来像 HTML链接的字符串中的任何内容。结果在很大程度上取决于您的输入,但用空字符串替换</?a\b[^>]*>可能会让您相当远。

在任何情况下,使用正则表达式处理HTML都是蹩脚和临时的。如果您的输入数据集是有限且众所周知的,并且您需要做的就是丢弃一次性转换代码,那么蹩脚和临时可能就足够了,您可以侥幸逃脱。

如果您正在开发旨在使用寿命长的代码,那么您一定要查看其中一个可用的HTML解析器(BeautifulSoup用于Python或HTML Agility Pack for .NET来())不仅要以结构化的方式处理你的HTML,还要在你的时候修复它。