Замена текстовой ссылки как ссылки на 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);