Once You have Floki…
iex(1)> html = "<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit</p> <!-- 1 -->
...(1)> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit</p> <!-- 2 -->
...(1)> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit</p> <!-- 3 -->
...(1)> <!-- I need the three items above -->
...(1)> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit</p>"
iex(2)> output = Floki.find(html, "p")
[
{"p", [], ["Lorem ipsum dolor sit amet, consectetuer adipiscing elit"]},
{"p", [], ["Lorem ipsum dolor sit amet, consectetuer adipiscing elit"]},
{"p", [], ["Lorem ipsum dolor sit amet, consectetuer adipiscing elit"]},
{"p", [], ["Lorem ipsum dolor sit amet, consectetuer adipiscing elit"]}
]
and then, it’s just a list
iex(3)> output |> Enum.take(3)
[
{"p", [], ["Lorem ipsum dolor sit amet, consectetuer adipiscing elit"]},
{"p", [], ["Lorem ipsum dolor sit amet, consectetuer adipiscing elit"]},
{"p", [], ["Lorem ipsum dolor sit amet, consectetuer adipiscing elit"]}
]
PS: To transform data back to html, You might use a final pipe like this
|> Floki.raw_html