PHPQuery ... пытается получить все ссылки всех изображений со страницы

0

Я пытаюсь получить все ссылки всех изображений на данной странице с помощью PHPQuery. Я использую синтаксис PHP поддержки PHPQuery.

Это код, который у меня есть до сих пор:

include('phpQuery-onefile.php');

$all = phpQuery::newDocumentFileHTML("http://www.mysite.com", $charset = 'utf-8');

// in theory this gives me all image sources
$images = $all->find('img')->attr('src'); 

// but if I do 'echo $images;' what I get is the src to the first image

Из любопытства я попытался

$images = $all->find('img:first')->attr('src'); 

а также

$images = $all->find('img:last')->attr('src'); 

и он правильно печатает первый и последний адреса изображений, соответственно, но как, черт возьми, я могу получить массив всех ссылок?

  • 1
    Это должно быть сделано с phpquery? Не можете использовать egfile_get_contents / preg_match?
  • 0
    потому что phpquery намного проще разобрать код ...
Показать ещё 3 комментария
Теги:
parsing
phpquery

1 ответ

5
Лучший ответ

В пределах цикла foreach вам нужно обернуть $a с помощью pq().

Например:

$all = phpQuery::newDocumentFileHTML("http://www.mysite.com", $charset = 'utf-8');

$imgs = $all['img'];

foreach ($imgs as $img) {
    // Note: $img must be used like "pq($img)"
    echo pq($img)->attr('src');
}
  • 0
    ПРОСТО ИДЕАЛЬНО! Спасибо!!!!!!!!!!!!!!
  • 1
    Хорошо, получил его так же, как foreach (pq('img') as $img) { echo pq($img)->attr('src'); }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню