Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Активизация кода на странице
Активизация ссылок
Следующий пример делает все ссылки активными, т.е. теперь на них можно нажать.
// "Активизация" HTML-ссылок.
$text = 'Ссылка: (http://kdg.htmlweb.ru), www.vsetaksi.ru?"a"=b, http://sborki.ru.';
echo hrefActivate($text);
// Функция обратного вызова для preg_replace_callback().
function hrefCallback($p) {
// Преобразуем спецсимволы в HTML-представление.
$name = htmlspecialchars($p[0]);
// Если нет протокола, добавляем его в начало строки.
$href = !empty($p[1])? $name : "http://$name";
// Формируем ссылку.
return "<a href=\"$href\">$name</a>";
}
// Заменяет ссылки на их HTML-эквиваленты ("подчеркивает ссылки").
function hrefActivate($text) {
return preg_replace_callback(
'{
(?:
(\w+://) // протокол с двумя слэшами
| // - или -
www\. // просто начинается на www
)
[\w-]+(\.[\w-]+)* // имя хоста
(?: : \d+)? // порт (не обязателен)
[^<>"\'()\[\]\s]* // URI (но БЕЗ кавычек и скобок)
(?: // последний символ должен быть...
(?<! [[:punct:]] ) // НЕ пунктуацией
| (?<= [-/&+*] ) // но допустимо окончание на -/&+*
)
}xis',
"hrefCallback",
$text
);
}
Активизация E-mail -ов
$text = "Привет от somebody@mail.ru, а также от other@mail.ru!";
$html = preg_replace(
'/(\S+)@([a-z0-9.]+)/is', // найти все E-mail
'<a href="mailto:$0">$0</a>', // заменить их по шаблону
$text // искать в $text
);
echo $html;
.
Прокомментировать/Отблагодарить