0

我正在尝试从 ssrs 报告中显示的值中消除 HTML 标记。

我的解决方案是: =(new System.Text.RegularExpressions.Regex("<[^>]*>")).Replace((new System.Text.RegularExpressions.Regex("< STYLE >. *< /STYLE > ")).Replace(Fields!activitypointer1_description.Value,""),"")

问题是应该首先执行的第二个表达式(“< STYLE >. *< /STYLE >” 没有空格)没有做任何事情。结果包含来自 html 的样式,没有附加标签。

我没主意了。

C

4

1 回答 1

0

您需要添加 RegexOptions.Singleline,因为默认情况下,正则表达式将在换行符处停止。下面是一个控制台程序示例,您可以运行它来验证它:

string decription = @"<b>this is some 
text</b><style>and 
this is style</style>";
        Console.WriteLine(
            (new Regex( "<[^>]*>", RegexOptions.IgnoreCase | RegexOptions.Singleline ))
            .Replace(
                (new Regex( "<STYLE>.*</STYLE>", RegexOptions.IgnoreCase | RegexOptions.Singleline ))
                    .Replace( decription
                    , "" )
            , "" )
         );
于 2009-05-26T13:28:52.680 回答