PHP

Автоматическое создание кликабельных ссылок

В этой записи я расскажу как могут автоматически создаваться кликабельные ссылки, например, если пользователь вставляет их на вашем сайте в комментариях, на форуме или где-то еще.

Итак, вот этот небольшой кусок PHP-кода поможет автоматически определить, где находится ссылка в каком-либо текстовом сообщении и сделает эту ссылку кликабельной:
<?php

// Функция настройки длинны создаваемой ссылки
function trimlink($text, $length)
{
	$dec = array("&", "\"", "'", "\\", '\"', "\'", "<", ">");
	$enc = array("&amp;", "&quot;", "&#39;", "&#92;", "&quot;", "&#39;", "&lt;", "&gt;");
	$text = str_replace($enc, $dec, $text);
	if (strlen($text) > $length) $text = substr($text, 0, ($length-3))."...";
	$text = str_replace($dec, $enc, $text);
	return $text;
}

// Загоняем преобразуемое текстовое сообщение в переменную
$text = "Это конечно все хорошо! Но я знаю еще один хороший сайт - http://maxsof.ru, а так же советую посетить www.podelitsya.ru";

// Делаем колдовство и находим ссылки :-)
$text = preg_replace("#(^|[n ])((http|https|ftp|ftps)://[w#$%&~/.-;:=,?@[]()+]*)#sie", "'\1<a href="'.trim('\2').'" target="_blank" title="autolink">'.trimlink('\2', 20).(strlen('\2')>30?substr('\2', strlen('\2')-10, strlen('\2')):'').'</a>'", $text);
$text = preg_replace("#(^|[n ])((www|ftp).[w#$%&~/.-;:=,?@[]()+]*)#sie", "'\1<a href=http://"'.trim('\2').'" target="_blank" title="autolink">'.trimlink('\2', 20).(strlen('\1')>30?substr('\2', strlen('\2')-10, strlen('\2')):'').'</a>'", $text);

// Выводим текстовое сообщение на экран
echo $text;

?>
Теги:
ссылка
Добавлено: 18 Апреля 2018 21:18:34 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...