我在CDATA元素中有HTML(HTML太糟糕了,无法解析)我希望删除<a href>
标记,但在标记中保留文字。
我正在寻找正则表达式,但仍然没有找到一个好方法。
欢迎所有建议!
答案 0 :(得分:1)
你可以通过正则表达式删除看起来像 HTML链接的字符串中的任何内容。结果在很大程度上取决于您的输入,但用空字符串替换</?a\b[^>]*>
可能会让您相当远。
在任何情况下,使用正则表达式处理HTML都是蹩脚和临时的。如果您的输入数据集是有限且众所周知的,并且您需要做的就是丢弃一次性转换代码,那么蹩脚和临时可能就足够了,您可以侥幸逃脱。
如果您正在开发旨在使用寿命长的代码,那么您一定要查看其中一个可用的HTML解析器(BeautifulSoup用于Python或HTML Agility Pack for .NET来())不仅要以结构化的方式处理你的HTML,还要在你的时候修复它。