From: peter Date: Fri, 25 Jan 2019 00:15:43 +0000 (+0100) Subject: BBCode - added preg_replacers for local [url] without target="_blank" X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=ae806a593dd87759c3d8b2dbf86d01fc3a2b6c3a;p=friendica.git BBCode - added preg_replacers for local [url] without target="_blank" --- diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php index 78f252b924..f225460645 100644 --- a/src/Content/Text/BBCode.php +++ b/src/Content/Text/BBCode.php @@ -1361,7 +1361,16 @@ class BBCode extends BaseObject . ''; }, $text); - $text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '$1', $text); + // We need no target="_blank" for local links + // convert links start with System::baseUrl() as local link + $escapedBaseUrl = str_replace('://', '\:\/\/', System::baseUrl()); + $text = preg_replace("/\[url\]($escapedBaseUrl)([$URLSearchString]*)\[\/url\]/ism", '$1$2', $text); + $text = preg_replace("/\[url\=($escapedBaseUrl)([$URLSearchString]*)\](.*?)\[\/url\]/ism", '$3', $text); + // convert links that start with / as local link + $text = preg_replace("/\[url\](\/[$URLSearchString]*)\[\/url\]/ism", '$1', $text); + $text = preg_replace("/\[url\=(\/[$URLSearchString]*)\](.*?)\[\/url\]/ism", '$2', $text); + + $text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '$1', $text); $text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '$2', $text); // Red compatibility, though the link can't be authenticated on Friendica