Fixed #1170: Auto-linking bug when URL cotains special chars.
This commit is contained in:
parent
ed964ea980
commit
75ebd45ebd
@ -412,8 +412,8 @@ function common_replace_urls_callback($text, $callback) {
|
|||||||
|
|
||||||
// Then clean up what the regex left behind
|
// Then clean up what the regex left behind
|
||||||
$offset = 0;
|
$offset = 0;
|
||||||
foreach($matches[0] as $url) {
|
foreach($matches[0] as $orig_url) {
|
||||||
$url = htmlspecialchars_decode($url);
|
$url = htmlspecialchars_decode($orig_url);
|
||||||
|
|
||||||
// Make sure we didn't pick up an email address
|
// 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;
|
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;
|
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
|
// Call user specified func
|
||||||
$modified_url = $callback($url);
|
$modified_url = $callback($url);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user