При использовании Sanitizer.GetSafeHtmlFragment из Microsoft AntiXSSLibrary 4.0 я заметил, что он изменяет мой HTML-фрагмент с:
<code><pre class="brush: csharp">
до:
<code><pre class="x_brush: x_csharp">
К сожалению, их API не позволяет нам отключить это поведение. Поэтому я хотел бы использовать регулярное выражение (C #) для исправления и замены строк типа «x_anything» на «что-нибудь», которые встречаются внутри атрибута class = «».
Может кто-нибудь помочь мне с RegEx сделать это?
Спасибо
ОБНОВЛЕНИЕ - у меня это сработало:
private string FixGetSafeHtmlFragment(string html)
{
string input = html;
Match match = Regex.Match(input, "class=\"(x_).+\"", RegexOptions.IgnoreCase);
if (match.Success)
{
string key = match.Groups[1].Value;
return input.Replace(key, "");
}
return html;
}