6

使用 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";
    }
4

1 回答 1

8

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/>";
    }
于 2012-09-21T01:58:56.073 回答