cURL php获取所有图像的网址

时间:2016-03-26 11:31:29

标签: php

我通过使用以下代码获得此错误,提出此错误发生的原因以及如何解决..

  

注意:DOMDocument :: loadHTML():未定义命名空间前缀g   实体,行:第43行的C:\ xampp \ htdocs \ curl \ img.php中的74

     

警告:DOMDocument :: loadHTML():在实体中标记g:plusone无效,   第43行:C:\ xampp \ htdocs \ curl \ img.php中的第74行

     

警告:DOMDocument :: loadHTML():htmlParseEntityRef:期待';'在   实体,行:第43行的C:\ xampp \ htdocs \ curl \ img.php中的82

     

警告:DOMDocument :: loadHTML():htmlParseEntityRef:期待';'在   实体,行:第43行的C:\ xampp \ htdocs \ curl \ img.php中的82

     

警告:DOMDocument :: loadHTML():结束标记:预期'>'在实体中,   第43行C:\ xampp \ htdocs \ curl \ img.php中的第104行

     

警告:DOMDocument :: loadHTML():意外的结束标记:实体中的g,   第43行C:\ xampp \ htdocs \ curl \ img.php中的第104行

     

警告:DOMDocument :: loadHTML():意外的结束标记:头部在实体中,   第43行的C:\ xampp \ htdocs \ curl \ img.php中的第149行

     

警告:DOMDocument :: loadHTML():htmlParseStartTag:放错地方   实体中的标记,行:第43行的C:\ xampp \ htdocs \ curl \ img.php中的150

到目前为止我的代码:

$html = file_get_contents($url);
                $dom = new domDocument;
                $dom->loadHTML('<?xml encoding="UTF-8">'.$html);
                $images = $dom->getElementsByTagName('img');
                foreach($images as $image){
                    $img = $image->getAttribute('src');
                    echo $img."</br>";
                }

1 个答案:

答案 0 :(得分:1)

您的代码中存在一些错误:

  1. 第一个是<?xml encoding="UTF-8">与html的串联。 Juste删除它
  2. 第二个是您不使用libxml_use_internal_errors(true)来禁用libxml错误
  3. 所以这里的代码对我有用:

    $html = file_get_contents("http://culturevie.info/tag-d.html?s=france");
    $dom = new domDocument;
    libxml_use_internal_errors (true);
    $dom->loadHTML($html);
    $images = $dom->getElementsByTagName('img');
    foreach($images as $image){
            $img = $image->getAttribute('src');
            echo $img."</br>";
    }