def unescape_html
munge_uni = !($HAVE_LIB['iconv'] && $config['use_iconv']) ||
$config['use_iconv_munge']
munge_str = $config['unicode_munge_str']
str = self.dup
str.gsub!(/&(.*?);/n) {
m = $1.dup.downcase
if HTML_ENTITY_LUT.key?(m)
HTML_ENTITY_LUT[m]
else
case m
when 'amp': '&'
when 'nbsp' ' '
when /^quot$/ni: '"'
when /^lt$/ni: '<'
when /^gt$/ni: '>'
when /^copy/: '(c)'
when /^trade/: '(tm)'
when /^#8212$/n: ","
when /^#8217$/n: "'"
when /^#8218$/n: ","
when /^#(\d+)$/n
r = $1.to_i
if !r.between?(0, 255) && munge_uni
UNICODE_LUT[r] ? UNICODE_LUT[r] : munge_str
else
r.chr
end
when /^#x([0-9a-f]+)$/ni
r = $1.hex
if !r.between?(0, 255) && munge_uni
UNICODE_LUT[r] ? UNICODE_LUT[r] : munge_str
else
r.chr
end
end
end
}
str
end