module CGI::Escape

def unescapeElement(string, *elements)

# "<BR>"
CGI.escapeHTML('
'), ["A", "IMG"])
print CGI.unescapeElement(

# "<BR>"
CGI.escapeHTML('
'), "A", "IMG")
print CGI.unescapeElement(

Undo escaping such as that done by CGI.escapeElement()
def unescapeElement(string, *elements)
  elements = elements[0] if elements[0].kind_of?(Array)
  unless elements.empty?
    string.gsub(/&lt;\/?(?:#{elements.join("|")})\b(?>[^&]+|&(?![gl]t;)\w+;)*(?:&gt;)?/im) do
      unescapeHTML($&)
    end
  else
    string
  end
end