Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: выборка содержимого с доски объявлений

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: как вскрыть содержимое массива совпадений
112345688
Отправлено: 22 Мая, 2010 - 21:42:23
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Есть html страница с объявлениями такого типа "...ПРОДАМ - нужная информация -ДАТА...", таких 30 шт. на страницу. Надо нужной информацией заполнить массив. Пишу preg_match_all('/продам.*дата/i', $text, $m) в $m выдает все 30 объявлений никак не разделенных.
Может в этой $m они лежат по одному, но я не знаю, как до них добраться?
А может нет, что делать?
 
 Top
Мелкий Супермодератор
Отправлено: 22 Мая, 2010 - 22:03:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




'/продам.*?дата/i'
используйте нежадный поиск.

а точно узнать, как они лежат в переменной поможет var_dump


-----
PostgreSQL DBA
 
 Top
112345688
Отправлено: 22 Мая, 2010 - 22:20:14
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




страниц мало, жадность к ресурсам не критична, если это об этом. var_dump показывает наличие одного массива в котором все объявления, то есть вырезало с первого ПРОДАМ до последнего ДАТА, а как их отчикать поштучно, ПРОДАМ...ДАТА и т.д?
 
 Top
Мелкий Супермодератор
Отправлено: 22 Мая, 2010 - 22:41:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




112345688 пишет:
страниц мало, жадность к ресурсам не критична, если это об этом.

Нет, не об этом. Я про регулярку говорю, обратите внимание на символ "?", уменьшает жадность регулярки.
Жадный поиск хватает всё, что между первым встретившимся "продам" и последним найденным "дата". Нежадный же поиск хватает только ближайшие совпадения.


-----
PostgreSQL DBA
 
 Top
112345688
Отправлено: 22 Мая, 2010 - 22:50:35
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Спасибо, идею понял, не скажете ли куда ставить '?'
 
 Top
Мелкий Супермодератор
Отправлено: 22 Мая, 2010 - 23:31:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ну как бы уже...
Мелкий пишет:
'/продам.*?дата/i'

Или модификатором можно:
'/продам.*дата/iU'


-----
PostgreSQL DBA
 
 Top
112345688
Отправлено: 23 Мая, 2010 - 09:51:01
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Спасибо за науку, все работает.
 
 Top
JustUserR
Отправлено: 23 Мая, 2010 - 13:50:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




112345688 Кстати для глобального поиска в регулярном выражении можете использовать модификатор /g заместо соответствющей функции с постфиксом _all - это поможет сделать регулярное выражение совместимым с Perl и JS


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB