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
Форумы портала PHP.SU :: Версия для печати :: правильно выдернуть url картинок регуляркой из html кода
Форумы портала PHP.SU » » Вопросы новичков » правильно выдернуть url картинок регуляркой из html кода

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

1. xsh - 29 Ноября, 2013 - 10:16:16 - перейти к сообщению
Подскажите правильную регулярку чтобы из исходного кода подобной страницы
CODE (htmlphp):
скопировать код в буфер обмена
  1. https://www.google.ru/search?q=land+rover+2010&newwindow=1&client=firefox-a&hs=C4J&rls=org.mozilla:ru:official&source=lnms&tbm=isch&sa=X&ei=pUGYUuXTCKu34wS2-oGoCQ&ved=0CAkQ_AUoAQ&biw=1920&bih=936&dpr=1#facrc=_&imgdii=_&imgrc=N56rKKAZv42CIM%3A%3BgVrJemmr0xzzlM%3Bhttp%253A%252F%252Fwww.ridelust.com%252Fwp-content%252Fuploads%252Flandroverlrx_live04.jpg%3Bhttp%253A%252F%252Fwww.ridelust.com%252F2010-land-rover-lrx%252F%3B1280%3B850

взять прямые пути на картинки ,такого формата
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://www.seriouswheels.com/pics-2010/klm/2010-Land-Rover-Range-Rover-Sport-Autobiography-Interior-Ebony-Ivory-1280x960.jpg

CODE (htmlphp):
скопировать код в буфер обмена
  1. preg_match_all ('/imgurl=(.*?)&amp/i', $content, $imgs);

так не получается...
2. armancho7777777 - 29 Ноября, 2013 - 10:54:27 - перейти к сообщению
Как-то так:
PHP:
скопировать код в буфер обмена
  1. $data = array();
  2.  
  3. if(preg_match_all('/<a[^>]+?href=([\'"])(?P<image_url>[^\1]+?)\1[^>]*?>\s*<img/si', $pageContent, $matches))
  4. {
  5.     parse_str(parse_url('http://forum.php.su/topic.php?forum=71&topic=12729', PHP_URL_QUERY), $query);
  6.    
  7.     if(isset($query['imgurl']))
  8.     $data[] = $query['imgurl'];
  9. }

Не проверял.
3. DelphinPRO - 29 Ноября, 2013 - 11:07:49 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. preg_match_all('~<img[^>]*src="([^"]+)"\s?[^>]*>~Usi', $content, $matchImages);

проверял. из моего парсера.


упс, кажется, не то... Растерялся
4. armancho7777777 - 29 Ноября, 2013 - 11:49:45 - перейти к сообщению
В img адреса миниатюр будут.
Надо ссылки парсить, в которых изображения есть.
Я бы лично использовал это.

 

Powered by ExBB FM 1.0 RC1