HtmlSanitizer by Michael Ganss

<PackageReference Include="HtmlSanitizer" Version="6.0.409-beta" />

 IHtmlSanitizer

public interface IHtmlSanitizer
using AngleSharp; using AngleSharp.Css.Dom; using AngleSharp.Html.Dom; using AngleSharp.Html.Parser; using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text.RegularExpressions; namespace Ganss.XSS { [System.Runtime.CompilerServices.NullableContext(1)] public interface IHtmlSanitizer { bool KeepChildNodes { get; set; } Func<HtmlParser> HtmlParserFactory { get; set; } IMarkupFormatter OutputFormatter { get; set; } ISet<CssRuleType> AllowedAtRules { get; } ISet<string> AllowedSchemes { get; } ISet<string> AllowedTags { get; } ISet<string> AllowedAttributes { get; } bool AllowDataAttributes { get; set; } ISet<string> UriAttributes { get; } ISet<string> AllowedCssProperties { get; } Regex DisallowCssPropertyValue { get; set; } ISet<string> AllowedClasses { get; } event EventHandler<PostProcessDomEventArgs> PostProcessDom; event EventHandler<PostProcessNodeEventArgs> PostProcessNode; event EventHandler<RemovingTagEventArgs> RemovingTag; event EventHandler<RemovingAttributeEventArgs> RemovingAttribute; event EventHandler<RemovingStyleEventArgs> RemovingStyle; event EventHandler<RemovingAtRuleEventArgs> RemovingAtRule; event EventHandler<RemovingCommentEventArgs> RemovingComment; event EventHandler<RemovingCssClassEventArgs> RemovingCssClass; string Sanitize(string html, string baseUrl = "", [System.Runtime.CompilerServices.Nullable(2)] IMarkupFormatter outputFormatter = null); IHtmlDocument SanitizeDom(string html, string baseUrl = ""); IHtmlDocument SanitizeDom(IHtmlDocument document, [System.Runtime.CompilerServices.Nullable(2)] IHtmlElement context = null, string baseUrl = ""); string SanitizeDocument(string html, string baseUrl = "", [System.Runtime.CompilerServices.Nullable(2)] IMarkupFormatter outputFormatter = null); } }