class HTML::FullSanitizer
def process_node(node, result, options)
def process_node(node, result, options) result << node.to_s if node.class == HTML::Text end
def sanitize(text, options = {})
def sanitize(text, options = {}) result = super # strip any comments, and if they have a newline at the end (ie. line with # only a comment) strip that too result = result.gsub(/<!--(.*?)-->[\n]?/m, "") if (result && result =~ /<!--(.*?)-->[\n]?/m) # Recurse - handle all dirty nested tags result == text ? result : sanitize(result, options) end