Html5ever (html5ever v0.9.0) View Source

The html5ever is an HTML parser written in Rust.

Link to this section Summary

Functions

Parses an HTML document from a string and returns a map.

Parses an HTML document from a string.

Link to this section Functions

Parses an HTML document from a string and returns a map.

The map contains the document structure.

Example

iex> Html5ever.flat_parse("<!doctype html><html><body><h1>Hello world</h1></body></html>")
{:ok,
 %{
   nodes: %{
     0 => %{id: 0, parent: nil, type: :document},
     1 => %{id: 1, parent: 0, type: :doctype},
     2 => %{
       attrs: [],
       children: [3, 4],
       id: 2,
       name: "html",
       parent: 0,
       type: :element
     },
     3 => %{
       attrs: [],
       children: [],
       id: 3,
       name: "head",
       parent: 2,
       type: :element
     },
     4 => %{
       attrs: [],
       children: [5],
       id: 4,
       name: "body",
       parent: 2,
       type: :element
     },
     5 => %{
       attrs: [],
       children: [6],
       id: 5,
       name: "h1",
       parent: 4,
       type: :element
     },
     6 => %{contents: "Hello world", id: 6, parent: 5, type: :text}
   },
   root: 0
 }}

Parses an HTML document from a string.

This returns a list of tuples representing the HTML tree.

Example

iex> Html5ever.parse("<!doctype html><html><body><h1>Hello world</h1></body></html>")
{:ok,
 [
   {:doctype, "html", "", ""},
   {"html", [], [{"head", [], []}, {"body", [], [{"h1", [], ["Hello world"]}]}]}
 ]}