ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (1): [1]   

> Без описания
Gori
Отправлено: 27 августа 2015 — 09:23
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Есть очень хорошая функция:

CODE:
function hyperlink($text)
{
$text = preg_replace("/(([a-z]+:\/\/)?(?:[a-zа-я0-9@:_-]+\.)+[a-zа-я0-9]{2,4}(?(2)|\/).*?)([-.,:]?(?:\\s|\$))/is",'<a href=$1>$1</a>', $text);
return($text);
}



Любая ссылка переделывается в гиперссылку. Причём независимо что стоит вначале ссылки: www или http://

Проблема в том, что, если в конце ссылки нет пробела, то и любой текст становится ссылкой до пробела. Вот так: http://exbb.infoздесьлюбойтекстдопробела

Как исправить?

Есть ещё код, который с этой задачей справляется:
CODE:
$text = preg_replace('/(http:\/\/([\w\d\.\?\&\#\;\:\+\-\=\%\/]+))/i', '<a href="$1">$1</a>', $text);

Но он не переделывает все ссылки, как первый код. Т.е. он хуже.
 
 
Gori
Отправлено: 27 августа 2015 — 10:58
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Ещё одна проблема возникла.
Скрипт также переделывает ссылки вида:

CODE:
<img src="http://exbb.info/img/1.jpg">


И получается бардак.
 
 
Gori
Отправлено: 28 августа 2015 — 08:53
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Решил всё же сделать вставку ссылок через быструю вставку тегов в форму отправки.

Но всё равно вещь полезная. Если кто-то доделает код, то это пригодится.
 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« PHP/Perl »

> Похожие темы: Функция трансформирует текст в гиперссылку
Темы Форум Информация о теме Обновление
Не вставляются пробелы в сообщения
Не правильно форматируется текст при вставке
Настройка форума Ответов: 43
Автор темы: Andrey_Ak
3 февраля 2016 — 08:29
Автор: Andrey_Ak
Проблема с цитированием.
не цитируется текст сообщения.
Решение проблем Ответов: 0
Автор темы: dark
12 марта 2009 — 06:25
Автор: dark
Как отключить возможность копировать текст страницы?
Общие вопросы Ответов: 1
Автор темы: Den
14 марта 2010 — 23:13
Автор: mastersound
Функция "Игнор"
Обсуждение Ответов: 1
Автор темы: nikk
19 февраля 2016 — 13:11
Автор: electron
Скрытый текст для определенных пользователей
Обсуждение Ответов: 1
Автор темы: alebastr89
8 февраля 2010 — 11:44
Автор: yura3d
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0583]     [ ]