0

我正在将数据从 1 个数据库导入到另一个数据库。我被要求删除所有 HTML 内容,因为它杂乱且无效,只保留链接

我目前使用以下 VB.NET 函数从内容字符串中删除所有 HTML 标记:

Public Shared Function StripHTML(ByVal htmlString As String) As String
    Dim pattern As String = "<(.|\n)*?>"
    Return Regex.Replace(htmlString, pattern, String.Empty)
End Function

我正在寻找一种a从内容中剥离所有但(锚)标签的方法。

例如,如果我有以下 HTML 内容:

<table>
  <tr>
     <td>
         Lorem <a href="http://google.com">Ipsum</a>
     </td>
   </tr>
</table>

这将简单地变成:

Lorem <a href="http://google.com">Ipsum</a>

我怎样才能做到这一点?

4

3 回答 3

2

我建议你使用Html Agility Pack

还要检查这个问题/答案:HTML Agility Pack strip tags NOT IN whitelist

于 2011-12-02T12:26:40.810 回答
0

你可以试试这个

<((?!a[ ]).|\n)*?>
于 2011-12-02T12:30:39.793 回答
0

您可以使用反向逻辑并仅获取锚点,而不是剥离除锚点之外的所有标签。为什么不尝试使用以下模式来提取锚点:

(?<anchor><a.*?href=[""'](?<url>.*?)[""'].*?>(?<name>.*?)</a>)

HTH 帕维尔

于 2011-12-02T12:32:22.133 回答