Как анализировать изображения внутри веб-страницы с PHP? - PullRequest
0 голосов
/ 18 апреля 2020

Я уверен, что возможно это дубликат, но у меня проблема с "анализом веб-страницы с PHP". Я пытаюсь экстраполировать src, alt и title каждого элемента <img> внутри веб-страницы, но у меня есть эта ошибка:

Uncaught Error: Call to a member function getElementsByTagName() on array in /web/example.php:12 Stack trace: #0 {main} thrown in 

Для этого я создаю небольшой код:

include('../simple_html_dom.php');
$doc = file_get_html('https://www.example.com');

foreach($doc-> find('div.content')-> getElementsByTagName('img') as $item){
    $src =  $item->getAttribute('src');
    $title= $item->getAttribute('title');
    $alt= $item->getAttribute('alt');

    echo "\n";
    echo $src;
    echo $title;
    echo $alt;
}

Я надеюсь, что вы можете мне помочь .... большое спасибо и извините за мой английский sh

1 Ответ

2 голосов
/ 18 апреля 2020

find возвращает массив элементов, поэтому вам необходимо выполнить итерации по каждому из них:

foreach($doc->find('div.content') as $div) {
    foreach ($div->getElementsByTagName('img') as $item){
        $src =  $item->getAttribute('src');
        $title= $item->getAttribute('title');
        $alt= $item->getAttribute('alt');

        echo "\n";
        echo $src;
        echo $title;
        echo $alt;
    }
}
...