Packages
floki
0.25.0
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.1
0.37.0
0.36.3
0.36.2
0.36.1
0.36.0
0.35.4
0.35.3
0.35.2
0.35.1
0.35.0
0.34.3
0.34.2
0.34.1
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.1
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.1
0.23.0
0.22.0
0.21.0
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.2
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.0
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.1
0.1.0
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Floki is a simple HTML parser that enables search for nodes using CSS selectors.
Current section
Files
Jump to
Current section
Files
lib/floki/html_parser.ex
defmodule Floki.HTMLParser do
@moduledoc """
A entrypoint to dynamic dispatch functions to
the configured HTML parser.
The configuration can be done with the "html_parser"
option for the "floki" application:
use Mix.Config
config :floki, :html_parser, Floki.HTMLParser.Mochiweb
The default parser is Mochiweb, which comes with Floki.
You can also choose between Html5ever or FastHtml.
This module is also a behaviour that those parsers must implement.
"""
@default_parser Floki.HTMLParser.Mochiweb
@callback parse_document(binary()) :: {:ok, Floki.html_tree()} | {:error, String.t()}
@callback parse_fragment(binary()) :: {:ok, Floki.html_tree()} | {:error, String.t()}
def parse_document(html) do
parser().parse_document(html)
end
def parse_fragment(html) do
parser().parse_fragment(html)
end
defp parser do
Application.get_env(:floki, :html_parser, @default_parser)
end
end