【问题标题】:Howto remove HTML <a> tags in a CDATA element如何删除 CDATA 元素中的 HTML <a> 标记
【发布时间】:2010-03-15 16:29:27
【问题描述】:

我在 CDATA 元素中有 HTML(HTML 太糟糕而无法解析),我想删除 &lt;a href&gt; 标签,但在标签中保留文本。

我正在搜索正则表达式,但仍然找不到这样做的好方法。

欢迎所有建议!

【问题讨论】:

  • 输入和所需输出的一些示例会有所帮助

标签: html xml string cdata


【解决方案1】:

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

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

如果您正在开发旨在成为长期存在的代码,您绝对应该研究一种可用的 HTML 解析器(BeautifulSoup 用于 Python 或 HTML Agility Pack for .NET),而不是仅以结构化的方式处理您的 HTML,但也可以在您处理它时对其进行修复。

【讨论】:

  • 感谢您的回答。事实上,这只是一次导出,所以这不是问题。我现在正在寻找支持 Ubuntu 上替换功能的 xslt 2 处理器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-05
  • 2019-08-13
  • 2015-04-27
  • 1970-01-01
  • 1970-01-01
  • 2020-03-24
  • 2020-05-30
相关资源
最近更新 更多