Class: HTML::FullSanitizer

Inherits:
Sanitizer show all
Defined in:
actionview/lib/action_view/vendor/html-scanner/html/sanitizer.rb

Direct Known Subclasses

LinkSanitizer

Instance Method Summary collapse

Methods inherited from Sanitizer

#sanitizeable?

Instance Method Details

#process_node(node, result, options) ⇒ Object


53
54
55
# File 'actionview/lib/action_view/vendor/html-scanner/html/sanitizer.rb', line 53

def process_node(node, result, options)
  result << node.to_s if node.class == HTML::Text
end

#sanitize(text, options = {}) ⇒ Object


44
45
46
47
48
49
50
51
# File 'actionview/lib/action_view/vendor/html-scanner/html/sanitizer.rb', line 44

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