从 SSRS 2005 (VB.NET) 中的字符串中去除 HTML
-
09-06-2019 - |
题
我的 SSRS数据集 返回一个 HTML 字段,例如
<b>blah blah </b><i> blah </i>.
如何去除所有 HTML 标签?必须完成 排队 网络
更改表中的数据不是一种选择。
找到解决方案 ...= 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 标签。
在我看来,这比拥有正则表达式的多个副本更好。