Добрый день! Есть такое регулярное выражение:
/\[url=(.*)\](.*)\[\/url\]/Usi
И замена по нему:
<a href="$1" target="_blank">$2</a>
Текст вида
[url=http://google.ru]Сайт гугл[/url]
будет обработан нормально, а как сделать, чтобы если вдруг в $2 пустое значение, то подставить $1
[url=http://google.ru][/url]
Отобразилось как:
<a href="http://google.ru" target="_blank">http://google.ru</a>
Возможно ли это сделать при помощи
preg_replace, а то я сделал через
preg_replace_callback на время:
$text = preg_replace_callback('/\[url=(.*)\](.*)\[\/url\]/Usi', function($match) {
return '<a href="'.$match[1].'" target="_blank">'.(empty($match[2]) ? $match[1] : $match[2]).'</a>';
}, $text);
Спасибо!