<?php
$text= <<<HERETEXT
[url=http://g...content-available-to-author-only...e.ru]Сайт гугл[/url]
[url=http://g...content-available-to-author-only...e.ru][/url]
HERETEXT;
$re = <<<HEREREGEX
\[url=
(?(?=[^\]]*\]\[\/url\]) # если где-то справа пустой текст
([^\]]*)\]\[\/url\] | # ТО помещаем в первую группу адрес
([^\]]*)\](.*?)\[\/url\] # ИНАЧЕ во вторую адрес, в третью текст
)
HEREREGEX;
echo preg_replace( "/$re/sux", '<a href="$1$2" target="_blank">$1$3</a>', $text );
PD9waHAKJHRleHQ9IDw8PEhFUkVURVhUClt1cmw9aHR0cDovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUucnVd0KHQsNC50YIg0LPRg9Cz0LtbL3VybF0KW3VybD1odHRwOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5ydV1bL3VybF0KSEVSRVRFWFQ7CgokcmUgPSA8PDxIRVJFUkVHRVgKXFt1cmw9Cig/KD89W15cXV0qXF1cW1wvdXJsXF0pICMg0LXRgdC70Lgg0LPQtNC1LdGC0L4g0YHQv9GA0LDQstCwINC/0YPRgdGC0L7QuSDRgtC10LrRgdGCCiAgICAoW15cXV0qKVxdXFtcL3VybFxdIHwgIyDQotCeINC/0L7QvNC10YnQsNC10Lwg0LIg0L/QtdGA0LLRg9GOINCz0YDRg9C/0L/RgyDQsNC00YDQtdGBCiAgICAoW15cXV0qKVxdKC4qPylcW1wvdXJsXF0gICAgICAgIyDQmNCd0JDQp9CVINCy0L4g0LLRgtC+0YDRg9GOINCw0LTRgNC10YEsINCyINGC0YDQtdGC0YzRjiDRgtC10LrRgdGCCikKCkhFUkVSRUdFWDsKCmVjaG8gcHJlZ19yZXBsYWNlKCAiLyRyZS9zdXgiLCAnPGEgaHJlZj0iJDEkMiIgdGFyZ2V0PSJfYmxhbmsiPiQxJDM8L2E+JywgJHRleHQgKTs=