У меня есть блок кода, который будет принимать блок текста, подобный следующему:
Образец текста образца текста http://www.google.com Образца текста
Используя метод preg_replace_callback
и следующее регулярное выражение:
preg_replace_callback('/http:\/\/([,\%\w.\-_\/\?\=\+\&\~\#\$]+)/',
create_function(
'$matches',
'$url = $matches[1];
$anchorText = ( strlen($url) > 35 ? substr($url, 0, 35).\'...\' : $url);
return \'<a href="http://\'. $url .\'">\'. $anchorText .\'</a>\';'),
$str);
Преобразует образец текста, чтобы выглядеть так:
Образец текста Образец текста http://www.google.com образец текста
Моя проблема сейчас в том, что мы ввели расширенный текстовый редактор, который может создавать ссылки перед отправкой в скрипт. Мне нужно обновить этот фрагмент кода, чтобы он игнорировал любые URL-адреса, которые уже находятся внутри тега.