2
我想解析一個表並輸出另一個表中的明文。這一步我已經得到了:PHP - 簡單的HTML DOM解析器 - 當html好時得到致命錯誤
<?php
if (url_exists($url))
{
$html = file_get_html($url);
}
else
{
echo "URL doesn't exist.";
}
if ($html && is_object($html) && isset($html->nodes))
{
// Everything checks out
$table = $html->find('table[border]');
if (!empty($table))
{
$row = $table->find('tr');
}
}
else
{
echo "Fetched page is not ok.";
}
?>
這會返回一個錯誤: 致命錯誤:Call to a member function find() on a non-object in /var/www/html/jsudimak/mailman/webdev-test1.php on line 78
78號線是這個:$row = $table->find('tr');
這意味着:
- 的HTML是有效的
- 我想解析的表也是有效的
因此,令我困惑的是find()
方法仍然返回此錯誤。
過去幾天我已經深入研究了這個錯誤的原因,我還沒有找到解決方案。我也嘗試了一些其他的解析工具,但沒有運氣。幫助我與這個傢伙調試!!!!
順便說一句,我使用簡單的HTML Dom解析器來解析表。
您是否嘗試過使用'$行= $表 - >找到(「TR」 )[0];'? – Nadir
@Nadir以及爲什麼通過這種方式它不應該得到錯誤? – fusion3k
$ html-> find('table [border]');和$ table-> find('tr');是同一類中的這些查找功能嗎? –