Найти и заменить все "http://" на ссылки

Вариант 1:
$text = preg_replace('#(?<!\])\bhttp://[^\s\[<]+#i',
	"<a href=\"$0\" target=_blank><u>Посмотреть на сайте</u></a>",
	nl2br(stripslashes($text)));

Вариант 2, с выделением домена:
// Cuts off long URLs at $url_length, and appends "..."
function reduceurl($url, $url_length) {
    $reduced_url = substr($url, 0, $url_length);
    if (strlen($url) > $url_length) $reduced_url .= '...';
    return $reduced_url;
}

$linktext = preg_replace("#\[(([a-zA-Z]+://)([a-zA-Z0-9?&%.;:/=+_-]*))\]#e", "'<a href=\"$1\" target=\"_blank\">' . reduceurl(\"$3\", 30) . '</a>'", $linktext);

Еще один вариант, учитывающий "WWW."
// match protocol://address/path/file.extension?some=variable&another=asf%
$text = preg_replace("/\s(([a-zA-Z]+:\/\/)([a-z][a-z0-9_\..-]*[a-z]{2,6})([a-zA-Z0-9\/*-?&%]*))\s/i", " <a href=\"$1\">$3</a> ", $text);

// match www.something.domain/path/file.extension?some=variable&another=asf%
$text = preg_replace("/\s(www\.([a-z][a-z0-9_\..-]*[a-z]{2,6})([a-zA-Z0-9\/*-?&%]*))\s/i", " <a href=\"http://$1\">$2</a> ", $text);
Теги:
preg_replace
Добавлено: 04 Июля 2018 08:23:26 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...