diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2024-10-12 18:15:54 +0200 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2024-10-12 18:15:54 +0200 |
commit | 687cda367316edb9f84b3e425e76c9e9279e96be (patch) | |
tree | a6b87ff4461639b0ab0fd2919832f38ba2e2df70 | |
parent | aee396421ad3bbfbabebb252c5b1d75fdd82ec78 (diff) | |
download | volse-hubzilla-687cda367316edb9f84b3e425e76c9e9279e96be.tar.gz volse-hubzilla-687cda367316edb9f84b3e425e76c9e9279e96be.tar.bz2 volse-hubzilla-687cda367316edb9f84b3e425e76c9e9279e96be.zip |
Fix regex to detect URLs in cleanup_bbcode.
This fixes the issue where the text after the URL would be included in
the link if it was immediately followed by a newline.
Example:
https://example.com
this is a test.
Would become:
#^[url=https://example.com_this]https://example.com_this[/url]
is a test
-rw-r--r-- | include/text.php | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/include/text.php b/include/text.php index 137622b7d..e69ce7d10 100644 --- a/include/text.php +++ b/include/text.php @@ -3755,12 +3755,9 @@ function cleanup_bbcode($body) { $body = preg_replace_callback('/\[img(.*?)\[\/(img)\]/ism','\red_escape_codeblock',$body); $body = preg_replace_callback('/\[zmg(.*?)\[\/(zmg)\]/ism','\red_escape_codeblock',$body); - $body = preg_replace_callback("/([^\]\='".'"'."\;\/\{]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\pL\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\\ -+\,\(\)]+)/ismu", '\nakedoembed', $body); - - $body = preg_replace_callback("/([^\]\='".'"'."\;\/\{]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\pL\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\\ -+\,\(\)]+)/ismu", '\red_zrl_callback', $body); + $body = preg_replace_callback("/([^\]\='".'"'."\;\/\{]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\pL\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\\+\,\(\)]+)/ismu", '\nakedoembed', $body); + $body = preg_replace_callback("/([^\]\='".'"'."\;\/\{]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\pL\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\\+\,\(\)]+)/ismu", '\red_zrl_callback', $body); $body = preg_replace_callback('/\[\$b64code(.*?)\[\/(code)\]/ism','\red_unescape_codeblock',$body); $body = preg_replace_callback('/\[\$b64summary(.*?)\[\/(summary)\]/ism','\red_unescape_codeblock',$body); |