# File lib/cgikit.rb, line 2383
  def unescape_html( string )
    		string.to_s.gsub(/&(.*?);/n) do
		    	match = $1.dup
		    	case match
	    		when /\Aamp\z/ni           then '&'
				when /\Aquot\z/ni          then '"'
				when /\Agt\z/ni            then '>'
				when /\Alt\z/ni            then '<'
				when /\A#0*(\d+)\z/n       then
					if Integer($1) < 256
						Integer($1).chr
					else
						if Integer($1) < 65536 and \
							($KCODE[0] == ?u or $KCODE[0] == ?U)
							[Integer($1)].pack("U")
						else
							"&##{$1};"
						end
					end
				when /\A#x([0-9a-f]+)\z/ni then
					if $1.hex < 256
						$1.hex.chr
					else
						if $1.hex < 65536 and \
							($KCODE[0] == ?u or $KCODE[0] == ?U)
							[$1.hex].pack("U")
						else
							"&#x#{$1};"
						end
					end
				else
					"&#{match};"
				end
			end
		end