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.gsub!(/<!--(.*?)-->[\n]?/m, "") if result # Recurse - handle all dirty nested tags result == text ? result : sanitize(result, options) end