Premailex v0.3.10 Premailex.HTMLParser behaviour View Source

Module that provide HTML parsing API using an underlying HTML parser library.

Link to this section Summary

Functions

Searches an HTML tree for the selector.

Filters elements matching the selector from the HTML tree.

Parses a HTML string into an HTML tree.

Extracts text elements from the HTML tree.

Turns an HTML tree into a string.

Link to this section Types

Link to this type

html_tree()

View Source
html_tree() :: tuple() | list()
Link to this type

selector()

View Source
selector() :: binary()

Link to this section Functions

Searches an HTML tree for the selector.

Examples

iex> Premailex.HTMLParser.all({"html", [], [{"head", [], []}, {"body", [], [{"h1", [], ["Title"]}]}]}, "h1")
[{"h1", [], ["Title"]}]
Link to this function

filter(tree, selector)

View Source
filter(html_tree(), selector()) :: [html_tree()]

Filters elements matching the selector from the HTML tree.

Examples

iex> Premailex.HTMLParser.filter([{"html", [], [{"head", [], []}, {"body", [], [{"h1", [], ["Title"]}]}]}], "h1")
[{"html", [], [{"head", [], []}, {"body", [], []}]}]

Parses a HTML string into an HTML tree.

Examples

iex> Premailex.HTMLParser.parse("<html><head></head><body><h1>Title</h1></body></html>")
{"html", [], [{"head", [], []}, {"body", [], [{"h1", [], ["Title"]}]}]}

Extracts text elements from the HTML tree.

Examples

iex> Premailex.HTMLParser.text({"html", [], [{"head", [], []}, {"body", [], [{"h1", [], ["Title"]}]}]})
"Title"
Link to this function

to_string(tree)

View Source
to_string(html_tree()) :: binary()

Turns an HTML tree into a string.

Examples

iex> Premailex.HTMLParser.to_string({"html", [], [{"head", [], []}, {"body", [], [{"h1", [], ["Title"]}]}]})
"<html><head></head><body><h1>Title</h1></body></html>"

Link to this section Callbacks

Link to this callback

all(html_tree, selector)

View Source
all(html_tree(), selector()) :: [html_tree()]
Link to this callback

filter(html_tree, selector)

View Source
filter(html_tree(), selector()) :: [html_tree()]
Link to this callback

to_string(html_tree)

View Source
to_string(html_tree()) :: binary()