From: Sean Murphy Date: Mon, 9 Feb 2009 22:29:27 +0000 (-0500) Subject: Fixed #1170: Auto-linking bug when URL cotains special chars. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=75ebd45ebdcf26849e47d3c11a2cc2aa6e946c01;p=quix0rs-gnu-social.git Fixed #1170: Auto-linking bug when URL cotains special chars. --- diff --git a/lib/util.php b/lib/util.php index 7ce4e229eb..5204693bc5 100644 --- a/lib/util.php +++ b/lib/util.php @@ -412,8 +412,8 @@ function common_replace_urls_callback($text, $callback) { // Then clean up what the regex left behind $offset = 0; - foreach($matches[0] as $url) { - $url = htmlspecialchars_decode($url); + foreach($matches[0] as $orig_url) { + $url = htmlspecialchars_decode($orig_url); // Make sure we didn't pick up an email address if (preg_match('#^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$#i', $url)) continue; @@ -456,6 +456,9 @@ function common_replace_urls_callback($text, $callback) { if (!in_array($url_parts[2], $tlds)) continue; + // Put the url back the way we found it. + $url = (mb_strpos($orig_url, htmlspecialchars($url)) === FALSE) ? $url:htmlspecialchars($url); + // Call user specified func $modified_url = $callback($url);