module Nokogiri::HTML
def fragment string
###
def fragment string doc = parse(string) fragment = XML::DocumentFragment.new(doc) finder = lambda { |c, f| c.each do |child| if string == child.content && child.name == 'text' fragment.add_child(child) end fragment.add_child(child) if string =~ /<#{child.name}/ end return fragment if fragment.children.length > 0 c.each do |child| finder.call(child.children, f) end } finder.call(doc.children, finder) fragment end
def parse string_or_io, url = nil, encoding = nil, options = 2145
##
def parse string_or_io, url = nil, encoding = nil, options = 2145 if string_or_io.respond_to?(:encoding) encoding ||= string_or_io.encoding.name end if string_or_io.respond_to?(:read) url ||= string_or_io.respond_to?(:path) ? string_or_io.path : nil return Document.read_io(string_or_io, url, encoding, options) end return Document.new if(string_or_io.length == 0) Document.read_memory(string_or_io, url, encoding, options) end