Exemple #1
0
 /// <summary>
 /// Get safe HTML from untrusted input HTML,
 /// by parsing input HTML and filtering it through a white-list of permitted tags and attributes.
 /// </summary>
 /// <param name="bodyHtml">input untrusted HTML (body fragment)</param>
 /// <param name="baseUri">URL to resolve relative URLs against</param>
 /// <param name="whitelist">white-list of permitted HTML elements</param>
 /// <param name="outputSettings">document output settings; use to control pretty-printing and entity escape modes</param>
 /// <returns>safe HTML (body fragment)</returns>
 /// <seealso cref="Supremes.Safety.Cleaner.Clean(Supremes.Nodes.Document)">Supremes.Safety.Cleaner.Clean(Supremes.Nodes.Document)</seealso>
 public static string Clean(string bodyHtml, string baseUri, Whitelist whitelist, DocumentOutputSettings outputSettings)
 {
     Document dirty = ParseBodyFragment(bodyHtml, baseUri);
     Cleaner cleaner = new Cleaner(whitelist);
     Document clean = cleaner.Clean(dirty);
     clean.OutputSettings = outputSettings;
     return clean.Body.Html;
 }