2010-03-15 50 views
0

我在CDATA元素中有HTML(HTML太糟糕了,无法解析),我想删除<a href>标签,但在标签中保留文本。Howto删除CDATA元素中的HTML <a>标签

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

欢迎所有的建议!

+1

输入和所需输出的一些示例将有助于 – 2010-03-15 17:45:57

回答

1

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

在任何情况下,使用正则表达式处理HTML都是蹩脚的和临时的。如果您的输入数据集是有限且众所周知的,并且您只需要一些不需要的一次性转换代码,那么蹩脚和特殊的转换代码就足够了,您可以避开它。

如果您正在开发旨在长期使用的代码,那么您绝对应该考虑一个可用的HTML解析器(Python的BeautifulSoupHTML Agility Pack for .NET),而不仅仅是处理您的HTML以结构化的方式,但也可以解决它,而你在它。

+0

感谢您的回答。事实上,这只是一次性导出,所以这不是问题。 我正在寻找支持Ubuntu上的替换功能的xslt 2处理器。 – pvledoux 2010-03-16 11:04:01

+0

http://saxon.sourceforge.net/ – Tomalak 2010-03-16 12:35:54