class WWW::Mechanize::Util

def html_unescape(s)

def html_unescape(s)
  return s unless s
  s.gsub(/&(\w+|#[0-9]+);/) { |match|
    number = case match
    when /&(\w+);/
      Mechanize.html_parser::NamedCharacters[$1]
    when /&#([0-9]+);/
      $1.to_i
    end
    number ? ([number].pack('U') rescue match) : match
  }
end