如何在 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>";
}
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
我在 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>";
}
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