Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Регулярные выражения (парсер)
 
 автор: MOTORIST   (30.10.2009 в 15:00)   письмо автору
 
 

Решил написать парсер. Начал изучать регулярные выражения, вроде все понятно, а когда перехожу к делу, либо цепляю много, либо вообще ничего нет.

Есть вот такая структура:

<ul class="list" style="float: left; width: 3%;">
           <li class="vendorletter">A</li>
</ul>
<ul class="list vendor">
              <li class="vendor">
                         <a href="/guru.xml?CMD=-RR=9,0,0,0-PF=1801946%2BEQ%2Bsel%2B1869979-VIS=20160-CAT_ID=105092-EXC=1-PG=10&amp;hid=90635">Aiptek</a>&nbsp;<span>1</span>
              </li>

</ul>
<ul class="list vendor"></ul>
<br clear="all">
<ul class="list" style="float: left; width: 3%;">
                    <li class="vendorletter">C</li>
</ul>
<ul class="list vendor">
                    <li class="vendor">
                             <a href="/guru.xml?CMD=-RR=9,0,0,0-PF=1801946%2BEQ%2Bsel%2B1870647-VIS=20160-CAT_ID=105092-EXC=1-PG=10&amp;hid=90635">Canon</a>&nbsp;<span>67</span>
                   </li>

</ul>
<ul class="list vendor"></ul>
<ul class="list vendor"></ul>
далее мусор.....


Кода побольше будет, я выдрал кусок.
Нужно при помощи рег. выражений вытащить:

              <li class="vendor">
                         <a href="Нужно выцепить ссылку">И название ссылки</a>&nbsp;<span>1</span>
              </li>

  Ответить  
 
 автор: RealMadrid   (04.11.2009 в 16:05)   письмо автору
 
   для: MOTORIST   (30.10.2009 в 15:00)
 

preg_match_all("|<li class=\"vendor\">(.*?)</li> |is", $file, $regs);
ну и само собой записать в массив,думаю справитесь?

  Ответить  
 
 автор: MOTORIST   (05.11.2009 в 01:17)   письмо автору
 
   для: RealMadrid   (04.11.2009 в 16:05)
 

Получится вытащим все между такими то тегами li. А мне нужно href + название ссылки.
Можно ли это сделать одним регулярным выражением?

  Ответить  
 
 автор: RealMadrid   (05.11.2009 в 13:56)   письмо автору
 
   для: MOTORIST   (05.11.2009 в 01:17)
 

ну можно,а адрес сайта можно?

  Ответить  
 
 автор: MOTORIST   (06.11.2009 в 16:10)   письмо автору
 
   для: RealMadrid   (05.11.2009 в 13:56)
 

Мне не нужен весь код мне нужно регулярное выражение. Как загрузить всю страницу я знаю. Кусок кода я представил. Это со страницы яндекс-маркета http://market.yandex.ru/vendors.xml?CAT_ID=101467&hid=91464.
Это для тренировки. Синтаксис и простые регулярки я знаю, проблема с практикой, там много подводных камней и никто в инете об этом не пишет. Очень мало примеров по парсингу сайтов.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования