Преобразование в ссылку

Автор Сообщение

CrazyFreeMan

Ярослав
#3/21.04.2015 21:10
+1

Модераторы

Карма: +317

С функцией ознакомились, точно ссылка отвечает шаблону?

function cot_parse_autourls($text)
{
	$text = preg_replace('`(^|\s)(http|https|ftp)://([^\s"\'\[]+)`', '$1<a href="$2://$3">$2://$3</a>', $text);
	return $text;
}

с начала строки или после пробелла ищем первое вхождение что должно соответствовать http|https|ftp потом второе что после ://   и подставляем в теги ссылки и заменяем

Заметил что если ссылка обрамленна в "p" то ее не преобразует, можете проверить сами, удалите парсер и htmlpurifier потом удалите абзацы и все будет как требуется. Может Булат решил это у себя или подумаем еще :)

Сообщения: 1240

CrazyFreeMan

Ярослав
#5/22.04.2015 00:26
+1

Модераторы

Карма: +317

Ну я ж говорю, все дело в парсинге, нужно посмотреть что есть за функции и пропустить текст через нее, думаю все решится. Найду - отпишусь

Добавлено 21 минута спустя:

Пф, скопируйте себе функцию cot_parse_autourls() и внесите  три буквы изменений :) добавьте условие ИЛИ <*> в начале строки, вот так

function cot_parse_autourls($text)
{
	$text = preg_replace('`(^|\s|<*>)(http|https|ftp)://([^\s"\'\[]+)`', '$1<a href="$2://$3">$2://$3</a>', $text);
	return $text;
}

Скажете как результат

Сообщения: 1240

m-matters

#7/10.10.2015 18:07
0

Аватар

Пользователи

Карма: 0

Сделал как, говорилось выше, но ниче не преобразовывается, вопрос: какие парсеры должны быть включены

Сообщения: 9

CrazyFreeMan

Ярослав
#8/10.10.2015 19:56
0

Модераторы

Карма: +317

Что куда и где должно выводится? Если создали свою функцию то парсер тут не причём
Сообщения: 1240