diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php index 4f7ff1f24..8a3eb3d57 100644 --- a/src/Content/Text/BBCode.php +++ b/src/Content/Text/BBCode.php @@ -1952,17 +1952,20 @@ class BBCode * - #[url=][/url] * - [url=]#[/url] */ - $text = preg_replace_callback("/(?:#\[url\=[^\[\]]*\]|\[url\=[^\[\]]*\]#)(.*?)\[\/url\]/ism", function($matches) use ($simple_html) { - if ($simple_html == self::ACTIVITYPUB) { - return '#' - . XML::escape($matches[1]) . ''; - } else { - return '#'; - } - }, $text); + self::performWithEscapedTags($text, ['url', 'share'], function ($text) use ($simple_html) { + $text = preg_replace_callback("/(?:#\[url\=[^\[\]]*\]|\[url\=[^\[\]]*\]#)(.*?)\[\/url\]/ism", function($matches) use ($simple_html) { + if ($simple_html == self::ACTIVITYPUB) { + return '#' + . XML::escape($matches[1]) . ''; + } else { + return '#'; + } + }, $text); + return $text; + }); // We need no target="_blank" rel="noopener noreferrer" for local links // convert links start with DI::baseUrl() as local link without the target="_blank" rel="noopener noreferrer" attribute