Skip to content

Instantly share code, notes, and snippets.

@asonge
Last active August 29, 2015 14:24
Show Gist options
  • Save asonge/cddb3dc6fba15cdd289c to your computer and use it in GitHub Desktop.
Save asonge/cddb3dc6fba15cdd289c to your computer and use it in GitHub Desktop.
defmodule HTMLCharacters do
def sanitize(phrase) do
chars = %{"&quot;" => "\"", "&#39;" => "'", "&amp;" => "&", "&lt;" => "<", "&gt;" => ">"}
cond do
String.match?(phrase, ~r/&\#?.+;/) ->
[code] = Regex.run(~r/&\#?.+;/, phrase)
Regex.replace(Regex.compile!(code), phrase, chars[code])
true -> phrase
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment