Packages
floki
0.13.1
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
86 Versions
Jump to
Current section
86 Versions
Compare versions
6
files changed
+9
additions
-5
deletions
| @@ -100,7 +100,7 @@ Add Floki in your `mix.exs`, as a dependency: | |
| 100 100 | ```elixir |
| 101 101 | defp deps do |
| 102 102 | [ |
| 103 | - {:floki, "~> 0.12.0"} |
| 103 | + {:floki, "~> 0.13.1"} |
| 104 104 | ] |
| 105 105 | end |
| 106 106 | ``` |
| @@ -25,4 +25,4 @@ | |
| 25 25 | {<<"name">>,<<"mochiweb">>}, |
| 26 26 | {<<"optional">>,false}, |
| 27 27 | {<<"requirement">>,<<"~> 2.15">>}]]}. |
| 28 | - {<<"version">>,<<"0.13.0">>}. |
| 28 | + {<<"version">>,<<"0.13.1">>}. |
| @@ -190,6 +190,9 @@ defmodule Floki do | |
| 190 190 | iex> Floki.text([{"div", [], ["hello world"]}]) |
| 191 191 | "hello world" |
| 192 192 | |
| 193 | + iex> Floki.text([{"p", [], ["1"]},{"p", [], ["2"]}]) |
| 194 | + "12" |
| 195 | + |
| 193 196 | """ |
| 194 197 | |
| 195 198 | @spec text(html_tree | binary) :: binary |
| @@ -52,6 +52,7 @@ defmodule Floki.Finder do | |
| 52 52 | |> Enum.reverse |
| 53 53 | |> get_nodes(tree) |
| 54 54 | |> Enum.flat_map(fn(html_node) -> get_matches_for_selectors(tree, html_node, selectors) end) |
| 55 | + |> Enum.uniq |
| 55 56 | |
| 56 57 | {tree, results} |
| 57 58 | end |
| @@ -201,7 +202,7 @@ defmodule Floki.Finder do | |
| 201 202 | defp get_descendant_ids(node_id, tree) do |
| 202 203 | case get_node(node_id, tree) do |
| 203 204 | %{children_nodes_ids: node_ids} -> |
| 204 | - node_ids ++ Enum.flat_map(node_ids, &( get_descendant_ids(&1, tree) )) |
| 205 | + Enum.reverse(node_ids) ++ Enum.flat_map(node_ids, &( get_descendant_ids(&1, tree) )) |
| 205 206 | _ -> |
| 206 207 | [] |
| 207 208 | end |
| @@ -29,7 +29,7 @@ defmodule Floki.HTMLTree do | |
| 29 29 | |
| 30 30 | %{tree | nodes: Map.put(tree.nodes, root_id, root_node), |
| 31 31 | node_ids: [root_id | tree.node_ids], |
| 32 | - root_nodes_ids: [root_id | tree.root_nodes_ids]} |
| 32 | + root_nodes_ids: tree.root_nodes_ids ++ [root_id]} |
| 33 33 | |> build_tree(children, root_id, []) |
| 34 34 | (_, tree) -> |
| 35 35 | tree |
Loading more files…