Probiers hier mit:
CODE
$text = preg_replace("/\[url\]http:\/\/(.*?)\[\/url\]/si",
"<a href=\"http://\\1\" target=\"_blank\">\\1</a>", $text);
$text = preg_replace("/\[url\] http:\/\/(.*?)\[\/url\]/si",
"<a href=\"http://\\1\" target=\"_blank\">\\1</a>", $text);
$text = preg_replace("/\[url\](.*?)\[\/url\]/si",
"<a href=\"http://\\1\" target=\"_blank\">\\1</a>", $text);
$text = preg_replace("/\[url=http:\/\/(.*?)\](.*?)\[\/url\]/si",
"<a href=\"http://\\1\" target=\"_blank\">\\2</a>", $text);
$text = preg_replace("/\[url=(.*?)\](.*?)\[\/url\]/si",
"<a href=\"http://\\1\" target=\"_blank\">\\2</a>", $text);
Das sollte alle möglichen Varanten abdecken.
Driver