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]   

> Без описания
event
Отправлено: 16 Января, 2015 - 13:46:13
Post Id


Частый посетитель


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


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




Привет.
Есть такой кусок кода:

CODE (html):
скопировать код в буфер обмена
  1. <h1 class="title">Магия&nbsp;/&nbsp;<span style="color:#2989ae; font-size:34px;">ВСЕ ЧТО ТУТ НУЖНО СПАРСИТЬ
  2. &nbsp;</span></h1>


Помогите составить регулярку чтобы спарсить
(Добавление)
PHP:
скопировать код в буфер обмена
  1. preg_match('#"><h1 class="title">Магия&nbsp;/&nbsp;<span style="color:#2989ae; font-size:34px;">(.*)&nbsp;</span></h1>#U', $text, $pname);
  2.  
  3. var_dump($pname);


Пробую так не работает(
(Добавление)
Помогите плз

(Отредактировано автором: 16 Января, 2015 - 13:53:42)

 
 Top
GoDr
Отправлено: 16 Января, 2015 - 14:47:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


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




Может как-то так?
PHP:
скопировать код в буфер обмена
  1. preg_match('#<h1.*?<span.*?>(.*?)</span></h1>#is', $str, $tmp);
  2. echo $tmp[1];
  3.  


-----
Система управления веб-содержимым Lotos CMS
 
 Top
event
Отправлено: 16 Января, 2015 - 14:58:24
Post Id


Частый посетитель


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


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




GoDr, тож не пашет.
(Добавление)
http://www[dot]magazin[dot]zvezda[dot]org[dot]ru[dot][dot][dot]iteli/70/1/2033/ - вот ссылка откуда нужно спарсить, спарсить нужно название.
 
 Top
GoDr
Отправлено: 17 Января, 2015 - 10:30:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


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




Да уж.. не самый лучший пример создания сайтов.. На одной странице аж целых 3(!) заголовка H1. И главное, ни одного идентификатора.... Не понял привязаться вообще не к чему..

event, так попробуй
PHP:
скопировать код в буфер обмена
  1. $arr = array(
  2.     'http://www.magazin.zvezda.org.ru/firma-zvezda/mstiteli/70/1/2033/',
  3.     'http://www.magazin.zvezda.org.ru/firma-zvezda/nastolnye-igry-strategicheskie/54/1/8934/',
  4.     'http://www.magazin.zvezda.org.ru/firma-zvezda/disney-samolety/75/1/2079/',
  5.     'http://www.magazin.zvezda.org.ru/firma-zvezda/tehnika-WWII-1-35/21/1/3625/',
  6.     'http://www.magazin.zvezda.org.ru/firma-zvezda/nastolnye-igry-logicheskie/51/1/8903/',
  7.     'http://www.magazin.zvezda.org.ru/firma-zvezda/nastolnye-igry-prikluchencheskie/52/1/8933/'
  8. );
  9. foreach($arr as $value){
  10.     $str = file_get_contents($value);
  11.     preg_match('#<h1.*?<span.*?2989ae.*?>(.*?)</span.*?<h1.*?Цена.*?<span.*?>(.*?)</span#is', $str, $tmp);
  12.     echo $tmp[1] . ' - ' . $tmp[2] . '<br>';
  13. }
  14.  


Результат:
Цитата:
Железный человек - 370р.
настольная игра Рококо - 2100р.
Шквал - 290р.
Немецкий бронетранспортер с пусковыми установками Sd.Kfz.251/1 Ausf.B "Ханомаг" - 800р.
настольная игра Ифрито - 1600р.
настольная игра Легенда о Звёздном щите (Дополнение к игре Андор) - 1100р.


PS
только цена:
CODE (htmlphp):
скопировать код в буфер обмена
  1. #<h1.*?Цена.*?<span.*?>(.*?)</span#is

только название:
CODE (htmlphp):
скопировать код в буфер обмена
  1. #<h1.*?<span.*?2989ae.*?>(.*?)</span.*?#is

(Отредактировано автором: 17 Января, 2015 - 10:36:33)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
event
Отправлено: 17 Января, 2015 - 14:11:59
Post Id


Частый посетитель


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


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




GoDr, большое вам челевоческое спасибо! Подмигивание

А не под кажите как еще спарсить описание товара и ссылку на картинку от товара?
(Добавление)
Картинку на товар удалось спарсить. А вот описание никак не могу. Нахмурился
 
 Top
event
Отправлено: 17 Января, 2015 - 17:32:56
Post Id


Частый посетитель


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


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




Помогите пожалуйста, а то капец как нужно. Огорчение
 
 Top
event
Отправлено: 18 Января, 2015 - 02:15:29
Post Id


Частый посетитель


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


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




Кто шарит нормально в регулярках, уделите минутку. Закатив глазки
 
 Top
GoDr
Отправлено: 18 Января, 2015 - 08:06:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


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




PHP:
скопировать код в буфер обмена
  1. preg_match("#<h1.*?Цена.*?<span.*?>.*?</span.*?</table>(.*?)</td#s", $str, $tmp);
  2. echo $tmp[1];
  3.  


-----
Система управления веб-содержимым Lotos CMS
 
 Top
event
Отправлено: 18 Января, 2015 - 11:23:26
Post Id


Частый посетитель


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


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




GoDr, спасибо! Подмигивание
 
 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