diff options
author | Mark Felder <feld@feld.me> | 2021-06-11 14:33:13 -0500 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2021-06-11 14:35:05 -0500 |
commit | baf7fd2142a28ff2219c6be8906861490a9f0753 (patch) | |
tree | 673143ce191f70fddb6067ef50bb75e60bfe7a52 /lib | |
parent | 65137044c1d68eade974e5b5ac5caea4352e6a44 (diff) | |
download | pleroma-baf7fd2142a28ff2219c6be8906861490a9f0753.tar.gz |
Introduce a scrubber that filters only everything except breaks
Add more tests for scrub_html_and_truncate/2
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/metadata/utils.ex | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/pleroma/web/metadata/utils.ex b/lib/pleroma/web/metadata/utils.ex index 3c0dfb6ad..a519fbf01 100644 --- a/lib/pleroma/web/metadata/utils.ex +++ b/lib/pleroma/web/metadata/utils.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.Metadata.Utils do alias Pleroma.Activity alias Pleroma.Emoji alias Pleroma.Formatter + alias Pleroma.HTML def scrub_html_and_truncate(%{data: %{"content" => content}} = object) do content @@ -21,8 +22,9 @@ defmodule Pleroma.Web.Metadata.Utils do def scrub_html_and_truncate(content, max_length \\ 200) when is_binary(content) do content |> Emoji.Formatter.demojify() + |> HTML.filter_tags(Pleroma.HTML.Scrubber.BreaksOnly) |> HtmlEntities.decode() - |> String.replace(~r/<br\s?\/?>/, " ") + |> String.replace(~r/<br\s?\/?>/, " ") |> Formatter.truncate(max_length) end |