我SSRS的DataSet返回场HTML,例如地带HTML从字符串中SSRS 2005(VB.NET)
<b>blah blah </b><i> blah </i>.
我该如何去掉所有的HTML标签?必须使用内嵌 VB.NET
更改表中的数据不是一个选项。
解发现 ... = System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, “< [^>] +>”, “”)
我SSRS的DataSet返回场HTML,例如地带HTML从字符串中SSRS 2005(VB.NET)
<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结构良好。
如果你不想使用正则表达式(例如,如果你需要更好的表现),你可以尝试a small method I wrote a while ago, posted at 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标签。
在我看来,这是最好的,然后有正则表达式的多个副本。