Замена текстовой ссылки как ссылки на preg_replace
Кажется, у меня возникла проблема с заменой текстовой ссылки ссылкой на опубликованный сайт, это не так.т ссылки.
Код:
$status_text = preg_replace('#(\A|[^=\]\'"a-zA-Z0-9])(http[s]?://(.+?)/[^()\s]+)#i', '\\1<a href="\\2">\\3</a>', $status_text);
echo $status_text;
$status_text
извлекается из поля MySQL с именемcontents
и содержит другой текст, но япросто хотел бы ссылку на ссылку.ДополнительнояТакже хотелось бы, чтобы не отображался полный URL, только основной домен.
ОБНОВЛЕНИЕ: У нас есть две другие preg_replaces на той же странице, мы ищем вещи с + и # перед ними, которые ссылаются на области сайта, они в настоящее время работают и не должны конфликтовать с вышеупомянутым:
$status_text = preg_replace("/#([a-z_0-9]+)/i", "<a href="\"http://url.com/hashlink/$1\"">$0</a>", $status_text);
$status_text = preg_replace("/\+([a-z_0-9]+)/i", "<a href="\"http://url.com/pluslink/$1\"">$0</a>", $status_text);