如何在 ASP.Net 中将 <span style="text-decoration: underline;">Name</span> 转换为“<u>Name</u>”(基本 HTML)以获取 SSRS 报告?

How to convert <span style="text-decoration: underline;">Name</span> to "<u>Name</u>"(basic HTML) in ASP.Net for SSRS reports?

我在 asp.net 中将此标签 (<span style="text-decoration: underline;">Name</span>) 转换为 (<u>Name</u>) 时遇到问题。

SSRS 报告需要它,因为选中 "Interpret the HTML tags as styles" 时 SSRS 报告不支持样式。

注意:Name 可以是任何基于上述 spam 标签的条件,并且上述脚本可能包含不同的标签,例如 'underline,bold,italic' 作为样式。

在 ASP.NET 中,您可以使用正则表达式。

string old_str = @"<span style=""text-decoration: underline;"">Name</span>";
string new_str = Regex.Replace(old_str, "<.*?>", string.Empty);

演示:https://dotnetfiddle.net/wWMvpm

查找多次出现

string old_str = @"<span style=""font-weight:underline;"">John</span> <span style=""font-style: underline;"">Steve</span> <span style=""text-decoration: underline;"">Abrahem</span>";
string new_str = Regex.Replace(old_str, "<.*?>(.*?)<.*?>", new MatchEvaluator(Replace)); 

static string Replace(Match m)
{
    return "<ul>" + m.Groups[1] + "</ul>";
}

演示:https://dotnetfiddle.net/M26VgU

    string old_str = @"<span style=""font-weight:underline;"">John</span> <span style=""font-style: bold;"">Steve</span><span style=""text-weight:italic;"">Abrahem</span>";        


    string new_str1 = Regex.Replace(old_str, @"<span style=""font-weight:underline;"">(.*?)</span>", new MatchEvaluator(ReplaceUnderline)); 

string new_str2=Regex.Replace(new_str1, @"<span style=""font-style: bold;"">(.*?)</span>", new MatchEvaluator(ReplaceBold)); 

string new_str3=Regex.Replace(new_str2, @"<span style=""text-weight:italic;"">(.*?)</span>", new MatchEvaluator(ReplaceItalic)); 

        Console.WriteLine(new_str3);
    }

    static string ReplaceUnderline(Match m)
        {
    return "<ul>" + m.Groups[1] + "</ul>";
        }
    static string ReplaceBold(Match m)
        {
    return "<b>" + m.Groups[1] + "</b>";
        }

    static string ReplaceItalic(Match m)
        {
    return "<i>" + m.Groups[1] + "</i>";
        }

同时选中此项,您可以进行自己的更改。 https://dotnetfiddle.net/wgHV6p