]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Link rtsp, mms & tel URI schemes, correct pseudo-protocol ones.
authorMeitar Moscovitz <meitarm@gmail.com>
Mon, 2 Feb 2009 08:59:48 +0000 (19:59 +1100)
committerMeitar Moscovitz <meitarm@gmail.com>
Mon, 2 Feb 2009 08:59:48 +0000 (19:59 +1100)
This patch builds on the work of user `candrews` at http://laconi.ca/trac/ticket/529#comment:2

lib/util.php

index 3690f0ad543bd4f9bcd01a0e7833c9622dcd3fda..d7af3f2045eba96552e1e9f07d7e9b1b4c5d26d1 100644 (file)
@@ -370,8 +370,6 @@ function common_canonical_email($email)
     return $email;
 }
 
-define('URL_REGEX', '^|[ \t\r\n])((ftp|http|https|gopher|mailto|news|nntp|telnet|wais|file|prospero|aim|webcal):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))');
-
 function common_render_content($text, $notice)
 {
     $r = common_render_text($text);
@@ -388,7 +386,8 @@ function common_render_text($text)
     $r = htmlspecialchars($text);
 
     $r = preg_replace('/[\x{0}-\x{8}\x{b}-\x{c}\x{e}-\x{19}]/', '', $r);
-    $r = preg_replace_callback('@https?://[^\]>\s]+@', 'common_render_uri_thingy', $r);
+    $r = preg_replace_callback('@(ftp|http|https|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|xmpp|irc)://[^\]>\s]+@', 'common_render_uri_thingy', $r);
+    $r = preg_replace_callback('@(mailto|aim|tel):[^\]>\s]+@', 'common_render_uri_thingy', $r); // Pseudo-protocols don't require '//' after ':'.
     $r = preg_replace('/(^|\s+)#([A-Za-z0-9_\-\.]{1,64})/e', "'\\1#'.common_tag_link('\\2')", $r);
     // XXX: machine tags
     return $r;