如何使用PHP解析网页中的图像?

How parse images inside a web page with PHP?

提问人:Borja 提问时间:4/18/2020 更新时间:4/18/2020 访问量:103

问:

我敢肯定可能是重复的,但我对“使用 PHP 解析网页”有问题。 我尝试推断网页内的每个元素,但我有这个错误:srcalttitle<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;
}

我希望你能帮助我......非常感谢,对不起我的英语

php 解析 simple-html-dom

评论


答:

2赞 Nick 4/18/2020 #1

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;
    }
}