Php Dom文档结果错误

时间:2015-11-03 06:23:19

标签: php domdocument

我想从html中删除一些元素,但我无法根据需要抓取数据。

HTML

<div class="opinions">
<ul>
<li>
<div class="imgcontainers">
<a href="domainname.com" title="title">                                                 `<img width="160" src="image.jpg" />`
</a>
</div>
<p class="caption">
<a href="domainname.com" class="head">asdfad</a>
<span>November 03, 2015 09:29 This is article title</span>
</p>
</li>
</ul>
</div>
$dom = new DOMDocument();
$classname = 'opinions';
$html = get_page($url);
@$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$xpath = new DOMXPath($dom);
$articles = $xpath->query("//*[@class='" . $classname . "']");

$p = $articles->getElementsByTagName('a');
$div = $articles->getElementsByTagName('div');
foreach($p as $value){
    $title = $value->getAttribute("href");
    echo $title;
}

当我运行此脚本时,我收到此错误&#34;调用未定义的方法DOMNodeList :: getElementsByTagName()&#34;

我真正需要的是,我需要每个href链接和img src路径(如果有)和span文本值。请建议您如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

也许你可以从我的code

中学到一些东西

或者,如果您决定包含我的功能,请按以下步骤操作:

    $html = ""; //your html
    $props = array(
    array("tagname"=>"div", "props"=>array("class"=>"opinions")),
    //the '/' before 'a' is for all descendant <a> of <div>
    array("tagname"=>"/a"),
    );
    $options = array("property"=>"href");
    require_once 'getNodeValue.php';
    $hrefs = getNodeValue($html, $props, $options);
    print_r($hrefs);