# File lib/standard/facets/cgi/escape_html.rb, line 23
  def self.escape_html(string, *modes)
    modes << :defualt if modes.empty?

    unless modes.include?(:nonstandard)
      string = string.gsub(/&/, '&amp;').gsub(/>/, '&gt;').gsub(/</, '&lt;')
    end

    modes.each do |mode|
      string = \
        case mode
        when :quote, :quotes
          string.gsub(%r|"|,'&quot;').gsub(%r|'|,'&#39;')
        when :newlines, :newlines
          string.gsub(/[\r\n]+/,'&#13;&#10;')
        when :ampersand
          string.gsub(/&/, '&amp;')
        when :bracket, :brackets
          string.gsub(/>/, '&gt;').gsub(/</, '&lt;')
        when :default, true
          string.gsub(/\"/, '&quot;')
        when false
        else
          raise ArgumentError, "unrecognized HTML escape mode -- #{node}"
        end
    end
  end