domDocument loadHTML getElementsByTagName对非对象问题

时间:2014-01-04 22:02:23

标签: php domdocument getelementsbytagname

我是PHP的新手,所以我有点卡在这个代码前。 如果你看这个Link有一个表,我试图只得到那个表,我知道它的第一个表及其在源代码行1065上的来源。

但是我得到了这个错误

bool(false)
Fatal error: Call to a member function getElementsByTagName() on a non-object in /get.php on line 23

我有这段代码,希望有人可以指导我。 (第23行是$ rows..line)

<?php
$pulje = '163532';
$url = "http://www.dbu.dk/turneringer_og_resultater/resultatsoegning/position.aspx?poolid=$pulje";

// enable user error handling
var_dump(libxml_use_internal_errors(true));

// parse the html into DOMDoc.
$dom = new domDocument();

$dom->recover = true;
$dom->strictErrorChecking = false;

$dom->loadHTML($url);

$tables = $dom->getElementsByTagName('table');
$rows = $tables->item(count($tables-1))->getElementsByTagName('tr');

$array = array();
foreach($rows as $row){
    $cols = $row->getElementsByTagName('td');
    echo $array[] = $cols;
}
?>

.... .... UPDATE 我将代码frem loadHTML更新为loadHTMLFile,然后我现在得到此错误

bool(false) Catchable fatal error: Object of class DOMNodeList could not be converted to string in /get.php on line 28

第28行是echo $ array ....

1 个答案:

答案 0 :(得分:0)

你应该使用 DOMDocument :: loadHTMLFile 而不是 DOMDocument :: loadHTML

  • DOMDocument :: loadHTML :从字符串加载HTML
  • DOMDocument :: loadHTMLFile :从文件加载HTML

http://php.net/manual/en/domdocument.loadhtml.php http://php.net/manual/en/domdocument.loadhtmlfile.php