Высвечивание ссылок. Как правильно сделать?
1.
ШЕДЕВР (18.11.2014 / 19:12)
Задача:
1. Высвечивать регуляркой ссылки ТОЛЬКО с адресом test.ru
2. Высвечивать ссылки с адресом test.ru даже если пишут:
http://test.ru , www.test.ru ,
http://www.test.ru и test.ru
$str=preg_replace("/(http:\/\/[^ )\r\n!]+)/i","<a href=\"\\1\">\\1</a>",$str);
Вот, такой код нужен, но вышеуказанный код высвечивает ВСЕ ссылки, неважно это с сайта TEST.RU или с другого... Я пытался отредактировать код. Но не смог, чтобы он потом регуляркой фильтровал все виды ссылок:
http://test.ru , www.test.ru ,
http://www.test.ru и test.ru
2.
Антон (18.11.2014 / 23:01)
1.
Moto-Moto, что то у тебя там совсем каша в регулярке.. За компом буду посмотрю.
3.
ШЕДЕВР (20.11.2014 / 18:47)
Жду :-)
4.
Антон (20.11.2014 / 19:08)
1.
Moto-Moto, вот, это на скорую руку должно работать.
([http|https|www]+[:\/\/]?[^\s]+)
5.
Антон (20.11.2014 / 19:21)
([http|https|www]+[:\/\/]?[^\s]+)
([http|https|www]+[:\/\/]?[\w\-\_]{3,32}[^\s]+)
Оба варианта рабочие, во втором я указал явно то что если в тексте есть 3 или более латинских символа то текст идущий далее будет считаться ссылкой ровно до следующего пробела, к примеру test.ru. Так же после 32} можно поставить \. это добавит дополнительную проверку на знак точки что будет более явно указывать на то что перед нами текст с указанием домена (прим test.ru) а не обычный набор латинских символов.
6.
ШЕДЕВР (20.11.2014 / 19:25)
У тебя скайп есть?
7.
Антон (20.11.2014 / 19:34)
6.
Moto-Moto, дети спят)) Я не пользуюсь им..
Аська есть в профиле))
URL:
https://visavi.net/topics/41589