diff options
author | Guillermo Ramos | 2020-02-11 17:40:08 +0100 |
---|---|---|
committer | Guillermo Ramos | 2020-02-11 17:40:08 +0100 |
commit | a4d1e9a81551dea9d8d57ba34b0f9bc7be6c9321 (patch) | |
tree | 4df6ac1360985d9b178f3ce42e70070e115ec9d9 /lib/waev_web/views/exports_view.ex | |
parent | abad279fd6247b81e04efd9110ffe221bb096708 (diff) | |
download | waev-a4d1e9a81551dea9d8d57ba34b0f9bc7be6c9321.tar.gz |
Highlight URLs
Diffstat (limited to 'lib/waev_web/views/exports_view.ex')
-rw-r--r-- | lib/waev_web/views/exports_view.ex | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/waev_web/views/exports_view.ex b/lib/waev_web/views/exports_view.ex index c4a1b59..4fc9a9e 100644 --- a/lib/waev_web/views/exports_view.ex +++ b/lib/waev_web/views/exports_view.ex @@ -22,4 +22,16 @@ defmodule WaevWeb.ExportsView do <img class="avatar <%= modifier %>" src="<%= Routes.exports_path(@conn, :get_avatar, @id, party.name) %>" /> """ end + + def highlight_urls(nil), do: "" + def highlight_urls(text) do + url_re = ~r/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)/ + + url_re + |> Regex.scan(text) + |> Enum.reduce(text, fn [url|_], t -> + String.replace(t, url, "<a target=\"_blank\" href=#{url}>#{url}</a>", global: false) + |> raw() + end) + end end |