module

HTML

Provides HTML escaping and unescaping methods.

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

NOTE: To use HTML, you must explicitly import it with require "html"

Class methods

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

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

require "html"

io = IO::Memory.new
HTML.escape("Crystal & You", io) # => nil
io.to_s                          # => "Crystal & You"
Source
escape(string : Bytes, io : IO) : Nil

Same as escape(String, IO) but accepts Bytes instead of String.

The slice is assumed to be valid UTF-8.

Source
escape(string : String) : String

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

require "html"

HTML.escape("Crystal & You") # => "Crystal &amp; You"
Source
unescape(string : String) : String

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

require "html"

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