当使用 Microsoft AntiXSSLibrary 4.0 中的 Sanitizer.GetSafeHtmlFragment 时,我注意到它改变了我的 HTML 片段:
<pre class="brush: csharp">
</pre>
到:
<pre class="x_brush: x_csharp">
</pre>
遗憾的是,他们的 API 不允许我们禁用此行为。因此,我想使用正则表达式 (C#) 来修复和替换出现在 class="" 属性内的字符串,例如“x_anything”到“anything”。
任何人都可以帮助我使用 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;
}