从其他网站获取图像的网址,我的代码不起作用

时间:2016-07-12 22:58:21

标签: javascript php html

我想从网页上获取图片网址。我的代码不起作用。我在这里找不到错误。它返回空数组。我试过随机网站。它不会返回任何网址。



function get_links($url) {

       
        $xml = new DOMDocument();

       

      libxml_use_internal_errors(true);

if (!$xml->loadHTML($url))
    {
        $errors="";
        foreach (libxml_get_errors() as $error)  {
            $errors.=$error->message."<br/>";
        }
        libxml_clear_errors();
        print "libxml errors:<br>$errors";
        return;
    }

        // Empty array to hold all links to return 
        $links = array();

        //Loop through each <img> tag in the dom and add it to the link array 
        foreach ($xml->getElementsByTagName('img') as $link) {
            $url = $link->getAttribute('src');
            if (!empty($url)) {
                $links[] = $link->getAttribute('src');
            }
        }

        //Return the links 
        return $links;
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

$xml->loadHTML('<html></html>')期待html字符串

<?php

function get_links($url) {

    $xml = new DOMDocument();

    libxml_use_internal_errors(true);

    $html = file_get_contents($url);

    if(!$xml->loadHTML($html)) {
        $errors="";
        foreach (libxml_get_errors() as $error)  {
            $errors.=$error->message."<br/>";
        }
        libxml_clear_errors();
        print "libxml errors:<br>$errors";
        return;
    }

    // Empty array to hold all links to return 
    $links = array();

    //Loop through each <img> tag in the dom and add it to the link array 
    foreach ($xml->getElementsByTagName('img') as $link) {
        $url = $link->getAttribute('src');
        if (!empty($url)) {
            $links[] = $link->getAttribute('src');
        }
    }

    //Return the links 
    return $links;
}

/* $cc = get_links('type your url here'); */