【问题标题】:Strip HTML from string in SSRS 2005 (VB.NET)从 SSRS 2005 (VB.NET) 中的字符串中去除 HTML
【发布时间】:2008-08-29 18:16:14
【问题描述】:

my SSRS DataSet 返回一个带有 HTML 的字段,例如

<b>blah blah </b><i> blah </i>.

如何去除所有的 HTML 标签?必须使用 inline VB.NET

不能更改表中的数据。

找到解决方案 ... = System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "]+>","")

【问题讨论】:

    标签: vb.net reporting-services


    【解决方案1】:

    感谢丹尼尔,但我需要内联完成......这是解决方案:

    = System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "&lt;[^&gt;]+&gt;","")

    以下是链接:

    http://weblogs.asp.net/rosherove/archive/2003/05/13/6963.aspx
    http://msdn.microsoft.com/en-us/library/ms157328.aspx

    【讨论】:

      【解决方案2】:

      这是一个使用正则表达式的好例子:http://www.4guysfromrolla.com/webtech/042501-1.shtml

      【讨论】:

        【解决方案3】:

        如果您知道 HTML 的格式足够好,那么您可以在确保它有根节点的情况下将该字段中的数据转换为 System.Xml.XmlDocument,然后从中获取 InnerText 值。

        同样,您必须确保文本有一个根节点,如果需要,您可以自己添加它,因为这无关紧要,并确保 HTML 格式正确。

        【讨论】:

          【解决方案4】:

          如果您不想使用正则表达式(例如,如果您需要更好的性能),您可以尝试a small method I wrote a while ago, posted at CodeProject。

          【讨论】:

            【解决方案5】:

            我会去报告属性,然后编码并添加以下内容

            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标签。

            在我看来,这比拥有多个正则表达式副本更可取。

            【讨论】:

              猜你喜欢
              • 2010-10-19
              • 2014-11-16
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多