diff options
author | friendica <info@friendica.com> | 2015-03-06 20:45:26 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2015-03-06 20:45:26 -0800 |
commit | 53e908d7b7ea1b1ff9aa5ca6154dc4c9e7ca0d13 (patch) | |
tree | 0b64a69bf3e89b4b2e117d5ed2d729e9d460ce82 | |
parent | fc6e7db7dc1a8a74b0df6e56515770a36cce572e (diff) | |
download | volse-hubzilla-53e908d7b7ea1b1ff9aa5ca6154dc4c9e7ca0d13.tar.gz volse-hubzilla-53e908d7b7ea1b1ff9aa5ca6154dc4c9e7ca0d13.tar.bz2 volse-hubzilla-53e908d7b7ea1b1ff9aa5ca6154dc4c9e7ca0d13.zip |
when fixing "naked links" make sure not to double link double urls as seen in archive.org - which has the complete unescaped target url, scheme and all, as part of its own.
-rw-r--r-- | include/bbcode.php | 2 | ||||
-rw-r--r-- | mod/item.php | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 9a607c80d..6b8cb941f 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -472,7 +472,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { $urlchars = '[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]'; if (strpos($Text,'http') !== false) { - $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" >$2</a>', $Text); + $Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" >$2</a>', $Text); } if (strpos($Text,'[/qr]') !== false) { diff --git a/mod/item.php b/mod/item.php index dbee2df3b..8b45f5db9 100644 --- a/mod/item.php +++ b/mod/item.php @@ -523,7 +523,7 @@ function item_post(&$a) { $body = preg_replace_callback('/\[url(.*?)\[\/(url)\]/ism','red_escape_codeblock',$body); $body = preg_replace_callback('/\[zrl(.*?)\[\/(zrl)\]/ism','red_escape_codeblock',$body); - $body = preg_replace_callback("/([^\]\='".'"'."]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)/ism", 'red_zrl_callback', $body); + $body = preg_replace_callback("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)/ism", 'red_zrl_callback', $body); $body = preg_replace_callback('/\[\$b64zrl(.*?)\[\/(zrl)\]/ism','red_unescape_codeblock',$body); $body = preg_replace_callback('/\[\$b64url(.*?)\[\/(url)\]/ism','red_unescape_codeblock',$body); |