0

あるデータベースから別のデータベースにデータをインポートしています。乱雑で有効でないため、すべての 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 に答える