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]   

> Описание: Preg_match, Reg_Exp
ArhimondR
Отправлено: 22 Февраля, 2011 - 14:06:43
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Февр. 2011  


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




Здраствуйте. Нужно с помощью рег експ вытянуть все тэги <li class="b-serp-item">
с их содержимым. Помогите пожалуйста. вот мой нерабочий вариант.

PHP:
скопировать код в буфер обмена
  1. $pattern='/#<(li)\s+[^>]*?class\s*=\s*([''""])b-serp-item\2[^>]*>((?:(?!</\1>).)*)</\1>#is/';
  2. preg_match_all($pattern, $html, $matches1);
  3.  
  4. print_r($matches1);
  5. echo $matches1[0];


$html - нужная мне страничка, которая получается со снупи.
 
 Top
Джур
Отправлено: 22 Февраля, 2011 - 20:49:37
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


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




Может быть так?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. preg_match_all('~<li.+class="b-serp-item".*>([\s\S]+)</li>~U', $text, $a);


-----
Тамбовский каджит тебе товарищ
 
 Top
Uchkuma
Отправлено: 23 Февраля, 2011 - 00:51:28
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


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




Должно сработать.
CODE (regexp):
скопировать код в буфер обмена
  1. #<(\w+)\s+[^>]*class=(['"])b-serp-item\2[^>]*>(.*)</\1>#Ui
В первой подмаске будет тег, в третьей - содержимое.

Джур, осторожнее с точками. Может захавать кусок до следующего подходящего </li>.
 
 Top
JustUserR
Отправлено: 23 Февраля, 2011 - 19:58:46
Post Id



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


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


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




ArhimondR В качестве возможного варианта решения предполагаемой задачи, допустимо использование средств XML-анализатора, позволяющего обеспечить извлечение отдельных элементов и их параметров из оригинального документа, на основе предоставления явного вложенного пути к целевому элементу или критерия его поиска в XML-документе
Использование средств XML-анализатора для решения предполагаемой задачи в действительности является в значительной мере более эффективным решением, обеспечиваемого за счет проведения разбора XML-документа в компиированном коде соответствующих модулей
Более подробная информация по данному вопросу предоставлена здесь http://www.php.su/functions/?page=cat_xml


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный 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