php xpath用class获取div的内容

时间:2012-09-20 23:40:06

标签: php xpath domdocument

使用xpath获取具有某个类的所有div的内容的正确语法是什么?我似乎得到了div,但我不知道如何获得他们的innerHTML。

        $url = "http://www.vanityfair.com/politics/2012/10/michael-lewis-profile-barack-obama";

    $ctx     = stream_context_create(array('http'=> array('timeout' => 10)));

    libxml_use_internal_errors(TRUE);
    $num = 0;

    if($html = @file_get_contents($url,false,$ctx)){

        $doc   = DOMDocument::loadHTML($html);
        $xpath = new DOMXPath($doc);

        foreach($xpath->query('//div[@class="page-display"]') as $div){
            $num++;
            echo "$num. ";

            //????

            echo "<br/>";
        }

        echo "<br/>FINISHED";

    }else{
        echo "FAIL";
    }

1 个答案:

答案 0 :(得分:7)

class =“page-display”div中没有​​HTML - 所以你根本不会得到任何东西。

你的意思是get class =“parbase cn_text”?

    foreach($xpath->query('//div[@class="parbase cn_text"]') as $div){
        $num++;
        echo "$num. ";

        //????
        echo $div->textContent;

        echo "<br/>";
    }