PHP преобразование URL в активные ссылки

Author Автор: Роман Чернышов    Опубликовано: 18 июля 2012

Очень полезным скриптом может оказаться функция автоматического преобразования URL в активную ссылку, в HTML тег типа <a href=»url»… Собственно далее именно об этом и пойдет речь. Где может пригодиться данная возможность? Вариантов применения множество, всё те-же форумы, блоги, комменатарии.  Например пользователь пишет сообщение с указанием адреса сайта www.yandex.ru, а ваш скрипт автоматически преобразует данный адрес в ссылку, что повышает удобство использование вашего сайта(скрипта).

Пример PHP функции:

<?php
function tolink($buf) {
	$x=explode(" ",$buf);
	$newbuf='';
	for ($j=0; $j<count($x); $j++) {
	 if (preg_match
	    ("/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))/",
	    $x[$j],$ok))
	    $newbuf.=str_replace($ok[2],"<a href='http://$ok[2]'>$ok[2]</a>",
	                           str_replace("http://","",$x[$j]))." ";
	 else
	 $newbuf.=$x[$j]." ";
	}
	return $newbuf;
}

Вызов функции осуществляется следующим образом:

<?php
echo tolink("ваш текст содержащий ссылку на ресурс, например на www.yandex.ru");

Функция tolink() принимает в качестве аргумента ваш текст и возвращает текст с уже замененными URL на активные ссылки.

Category HTML, PHP     Tags , ,

1 Comment to “PHP преобразование URL в активные ссылки”

  • Конструктор 25.09.2016 в 2:17 дп

    Стоит поправить длину доменной зоны, т.к. появились newGTLD длиннее трех букв.
    Например, .moscow

Оставить комментарий на Конструктор

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка