Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите с регулярным выражением url

45K
19 мая 2011 года
Дружбин Вечеслав
19 / / 29.06.2009
Вот стоит у меня такой
[SIZE="1"]$text=preg_replace("#(^|\s|-|:| |\()(http(s?)://|(www\.))((\S{25})(\S{5,})(\S{15})([^\<\s.,>)\];'\"!?]))#i", "\\1<a class=\"main\" target=\"_blank\" href=\"http\\3://\\4\\5\">\\4\\6...\\8\\9</a>", $text);

$text=preg_replace("#(^|\s|-|:|\(| |\xAB)(http(s?)://|(www\.))((\S+)([^\<\s.,>)\];'\"!?]))#i", "\\1<a class=\"main\" target=\"_blank\" href=\"http\\3://\\4\\5\">\\4\\5</a>", $text]);

$text = preg_replace( "#(<a[^>]*>[^\/]+)\/<\/a>#", "$1</a>", $text);[/SIZE]


Всё бы ничего. Но проблема. При переходе на следующую строку (т.е. если длинная ссылка), она прекращает свою работу. Вопрос в чем. Как изменить текущую регулярку, чтобы ограничением был только пробел и самостоятельный переход на след. строку. (['\"<> ]) вот например. Или если есть у кого-нибудь дайте грамотный preg_replace.
244
19 мая 2011 года
UAS
2.0K / / 19.07.2006
Модификатор s добавить?
Непонятна проблема.
8
19 мая 2011 года
mfender
3.5K / / 15.06.2005
непонятно, как URL может быть многострочным… или я что-то пропустил?
45K
19 мая 2011 года
Дружбин Вечеслав
19 / / 29.06.2009
Ну допустим юзер отправляет текст, в котором хранится длинный url. Это текст выводится в определенном месте с определенной шириной. Этот url на всю длину не влезает и переносится на другую строку, но почему-то уже без <a href.. как изменить или сделать новое регулярное выражение чтобы <a href длился правильно, а не оканчивался после нехватки ширины?
45K
19 мая 2011 года
Дружбин Вечеслав
19 / / 29.06.2009
Как я понял у меня ещё в mysql базу записывается как-то странно текст. ссылка делится там по частям и так и выводится по частям. Хз почему делится. Когда я их самостоятельно соединяю они правильно выводятся.
45K
19 мая 2011 года
Дружбин Вечеслав
19 / / 29.06.2009
понял ошибку. у меня textarea стоял wrap="hard". Поэтому длинные ссылки переносились а их перенос считывался как <br>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог