Я пытаюсь получить все ссылки всех изображений на данной странице с помощью 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');
и он правильно печатает первый и последний адреса изображений, соответственно, но как, черт возьми, я могу получить массив всех ссылок?
В пределах цикла 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');
}
foreach (pq('img') as $img) { echo pq($img)->attr('src'); }