diff --git a/lib/floki/selector.ex b/lib/floki/selector.ex index 706e1659..8d5f38af 100644 --- a/lib/floki/selector.ex +++ b/lib/floki/selector.ex @@ -144,7 +144,7 @@ defmodule Floki.Selector do defp do_classes_matches?(nil, _classes), do: false defp do_classes_matches?(class_attr_value, classes) do - classes -- String.split(class_attr_value, ~r/\s+/) == [] + classes -- String.split(class_attr_value, [" ", "\t", "\n"]) == [] end defp attributes_matches?(_node, []), do: true diff --git a/lib/floki/selector/attribute_selector.ex b/lib/floki/selector/attribute_selector.ex index 5e8da68c..70e8e049 100644 --- a/lib/floki/selector/attribute_selector.ex +++ b/lib/floki/selector/attribute_selector.ex @@ -63,7 +63,7 @@ defmodule Floki.Selector.AttributeSelector do s.attribute |> get_value(attributes) # Splits by whitespaces ("a b c" -> ["a", "b", "c"]) - |> String.split(~r/\s+/) + |> String.split([" ", "\t", "\n"]) |> Enum.any?(fn v -> String.downcase(v) == selector_value end) end @@ -103,7 +103,7 @@ defmodule Floki.Selector.AttributeSelector do def match?(attributes, s = %AttributeSelector{match_type: :includes, value: value}) do get_value(s.attribute, attributes) - |> String.split(~r/\s+/) + |> String.split([" ", "\t", "\n"]) |> Enum.any?(fn v -> v == value end) end