public function parseUrl($text)
{
$urlPattern = '(?:https?|ftp)://.+?';
$text = preg_replace_callback("#\\[url\\]({$urlPattern})\\[/url\\]#", function ($m) {
$url = $this->extraEscapes($m[1]);
return "[url:{$this->uid}]{$url}[/url:{$this->uid}]";
}, $text);
$text = preg_replace_callback("#\\[url=({$urlPattern})\\](.+?)\\[/url\\]#", function ($m) {
$url = $this->extraEscapes($m[1]);
return "[url={$url}:{$this->uid}]{$m[2]}[/url:{$this->uid}]";
}, $text);
return $text;
}