Use unicode regex in mentions and links.
authorRoger Braun <roger@rogerbraun.net>
Mon, 14 Aug 2017 15:56:45 +0000 (17:56 +0200)
committerRoger Braun <roger@rogerbraun.net>
Mon, 14 Aug 2017 15:56:45 +0000 (17:56 +0200)
lib/pleroma/formatter.ex

index 179c33560412469e3ef4feab55abfffa79259584..5c19d8f87eb79146500745b9920384adb110196d 100644 (file)
@@ -1,7 +1,7 @@
 defmodule Pleroma.Formatter do
   alias Pleroma.User
 
-  @link_regex ~r/https?:\/\/[\w\.\/?=\-#%&]+[\w]/
+  @link_regex ~r/https?:\/\/[\w\.\/?=\-#%&]+[\w]/u
   def linkify(text) do
     Regex.replace(@link_regex, text, "<a href='\\0'>\\0</a>")
   end
@@ -14,7 +14,7 @@ defmodule Pleroma.Formatter do
 
   def parse_mentions(text) do
     # Modified from https://www.w3.org/TR/html5/forms.html#valid-e-mail-address
-    regex = ~r/@[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*/
+    regex = ~r/@[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*/u
 
     Regex.scan(regex, text)
     |> List.flatten