SSRS 2005 の文字列から HTML を削除する (VB.NET)
-
09-06-2019 - |
質問
私の SSRS データセット HTML を含むフィールドを返します。
<b>blah blah </b><i> blah </i>.
すべての HTML タグを削除するにはどうすればよいですか?でやらなければならない 列をなして VB.NET
テーブル内のデータを変更することはできません。
解決策が見つかりました ...= System.Text. RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "<[^>]+>","")
解決
ダニエルに感謝しますが、インラインで行う必要がありました...解決策は次のとおりです。
= System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "<[^>]+>","")
リンクは次のとおりです。
http://weblogs.asp.net/rosherove/archive/2003/05/13/6963.aspx
http://msdn.microsoft.com/en-us/library/ms157328.aspx
他のヒント
正規表現を使用した良い例を次に示します。 http://www.4guysfromrolla.com/webtech/042501-1.shtml
HTML が十分に整形式であることがわかっている場合、ルート ノードがあることを確認すれば、そのフィールドのデータを System.Xml.XmlDocument に変換し、そこから InnerText 値を取得できます。
繰り返しますが、テキストにルート ノードがあることを確認する必要があります。ルート ノードは重要ではないため、必要に応じて自分で追加できます。また、HTML が適切な形式であることを確認する必要があります。
正規表現を使用したくない場合(たとえば、パフォーマンスを向上させる必要がある場合)、試してみることができます 私が少し前に書いた小さなメソッド、CodeProject に投稿されました.
「レポートのプロパティ」に移動し、次のコードを追加します。
Dim mRemoveTagRegex AS NEW System.Text.RegularExpressions.Regex("<(.|\n)+?>", System.Text.RegularExpressions.RegexOptions.Compiled)
Function RemoveHtml(ByVal text As string) AS string
If text IsNot Nothing Then
Return mRemoveTagRegex.Replace(text, "")
End If
End Function
その後、使用できます Code.RemoveHtml(Fields!Content.Value)
htmlタグを削除します。
私の意見では、正規表現のコピーを複数持つよりもこの方が望ましいと考えています。