Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Паттерн больше 80 символов, Захватить регуляркой больше 80 символов 
:(
    Опции темы
cia
Дата 25.1.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Возможно, вопрос ламерский, но...
Как мне функцией 
Код

preg_match_all('/<a href="(.*?)" target/' ...

захватить строки больше 80 символов (79 с нулем на конце)?
А то некоторые урлы весьма длинные.
PM WWW ICQ   Вверх
ZlojEzh
Дата 25.1.2008, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 2
Всего: 15



если нужны именно url'ы длинее 80 символов, то
Код

preg_match_all('/<a href="([^"]{80,})" target/' ...

PM MAIL ICQ   Вверх
gta4kv
Дата 26.1.2008, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 1
Всего: 91



А если не конкретно 80, то наверное так:

Код

preg_match_all('/<a href="([^"]{0,500})" target/' ...

PM MAIL   Вверх
cia
Дата 27.1.2008, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Цитата(ZlojEzh @  25.1.2008,  22:36 Найти цитируемый пост)
если нужны именно url'ы длинее 80 символов, то

Нет, нужны все урлы.


Цитата(gta4kv @  26.1.2008,  11:09 Найти цитируемый пост)
код PHP1:preg_match_all('/<a href="([^"]{0,500})" target/' ...


Пробовал. Это не работает - все равно захватывает только короткие строки.
Может нужно какойнить предикат поставить или в настроках пхп (локалхост) ?
PM WWW ICQ   Вверх
SelenIT
Дата 27.1.2008, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 8
Всего: 401



Очевидно, у исходного фрагмента никаких проблем с длиной захватываемой строки нет. То, что ссылки с длинными URLами, по иронии судьбы, не имеют атрибута target сразу после href, или имеют href без кавычек, или набраны в другом регистре, или еще чем-то не соответствуют паттерну - не более чем случайное совпадение. Программа делает ровно то, что программист приказал ей делать, а не то, что он при этом имел в виду - и никакие волшебные настройки и таинственные предикаты пока не в силах это исправить...

Можно попробовать просто более универсальный паттерн, вроде следующего - '/<a[^<]+href\s*=\s*(["\']?)(.*?)\\1[\s>]/is'


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cia
Дата 28.1.2008, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Вобщем так.
Закинул тестовый скрипт на хост в сети и убедился что там он работает.
Долго пытался найти у себя какиенить настройки - безуспешно.
На моем компе заработало только после полного сноса и переустановки ПХП. В чем там глюк был не знаю.
И спасибо всем, кто пытался помочь.
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0698 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.