简单的html dom提取表由它的id

时间:2014-04-06 18:22:05

标签: php jquery simple-html-dom

我在php中使用简单的html dom根据其id提取表。当id不涉及连字符( - )等任何字符时,我没有遇到任何问题。我怀疑它是由于一个连字符,因为我使用相同的代码,id没有连字符,没有接收数据的麻烦。我想要提取的数据也位于隐藏的标签中,这是否会影响流程?

这是我的代码

<?php

include('simple_html_dom.php');

//Insert the url you want to extract data from
$html = file_get_html('http://espnfc.com/team/_/id/359/arsenal?cc=5739');

$i = 0;
$dataInTable = true;

while($dataInTable){

    if($html->find('div[id=ui-tabs-1] table tbody', 0)->children(0)->children($i)){

            for($j=0;$j<3;$j++){

                if($html->find('div[id=ui-tabs-1] table tbody', 0)->children(0)->children($i)->children($j)){
                    $gk[] = $html->find('div[id=ui-tabs-1] table tbody', 0)->children(0)->children($i)->children($j)->plaintext;
                }else{
                $dataInTable = false;
                }
            }

            //else if nothing is in the next cell return false.
        }else{
            $dataInTable = false;
        }


    $i+=2;
}
var_dump($gk);

?>

以下是HTML内容 enter image description here

1 个答案:

答案 0 :(得分:2)

当您查看http://espnfc.com/team/_/id/359/arsenal?cc=5739的来源(不是通过dev-tools,使用browser-&gt; viewsource)时,您将看不到ID为ui-tabs-1

此元素已通过javascript创建(我猜jQueryUI-tabs)

simple_html_dom解析HTML但没有评估javascript,所以答案是:

您无法选择此元素