class HTML::Sanitizer
def process_node(node, result, options)
def process_node(node, result, options) result << node.to_s end
def sanitize(text, options = {})
def sanitize(text, options = {}) return text unless sanitizeable?(text) tokenize(text, options).join end
def sanitizeable?(text)
def sanitizeable?(text) !(text.nil? || text.empty? || !text.index("<")) end
def tokenize(text, options)
def tokenize(text, options) tokenizer = HTML::Tokenizer.new(text) result = [] while token = tokenizer.next node = Node.parse(nil, 0, 0, token, false) process_node node, result, options end result end