# File lib/cgikit.rb, line 4219
        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