HTML -

# module HTML

## Overview

Provides HTML escaping and unescaping methods.

For HTML parsing see module XML, especially `XML.parse_html`.

## Defined in:

## Class Method Summary

- .escape(string : String, io : IO) : Nil

  Same as `.escape(string)` but ouputs the result to the given io.

- .escape(string : String) : String

  Escapes special characters in HTML, namely `&`, `<`, `>`, `"` and `'`.

- .unescape(string : String) : String

  Returns a string where named and numeric character references (e.g.

## Class Method Detail

def self.escape(string : String, io : IO) : Nil #

Same as `.escape(string)` but ouputs the result to the given io.

    require "html"

    io = IO::Memory.new
    HTML.escape("Crystal & You", io) # => nil
    io.to_s                          # => "Crystal &amp; You"

def self.escape(string : String) : String #

Escapes special characters in HTML, namely `&`, `<`, `>`, `"` and `'`.

    require "html"

    HTML.escape("Crystal & You") # => "Crystal &amp; You"

def self.unescape(string : String) : String #

Returns a string where named and numeric character references (e.g. >, >, &x3e;) in string are replaced with the corresponding unicode characters. This method decodes all HTML5 entities including those without a trailing semicolon (such as `©`).

    require "html"

    HTML.unescape("Crystal &amp; You") # => "Crystal & You"