module HTML
Overview
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"
Defined in:
html.crhtml/entities.cr
Class Method Summary
-
.escape(string : String, io : IO) : Nil
Same as
.escape(string)
but outputs the result to the given io. -
.escape(string : Bytes, io : IO) : Nil
Same as
.escape(String, IO)
but acceptsBytes
instead ofString
. -
.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
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"
Same as .escape(String, IO)
but accepts Bytes
instead of String
.
The slice is assumed to be valid UTF-8.
Escapes special characters in HTML, namely
&
, <
, >
, "
and '
.
require "html"
HTML.escape("Crystal & You") # => "Crystal & You"
Returns a string where named and numeric character references (e.g. >, >, >) 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 & You") # => "Crystal & You"