我正在尝试解析表并在另一个表中输出明文。我已经走到了这一步:
<?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');
这意味着:
因此,我对find()
方法仍然返回此错误感到困惑。
过去几天我已经广泛研究了这个错误的原因,我还没有找到解决方案。我也尝试了一些其他解析工具,但仍然没有运气。帮帮我这个调试员!!!!
顺便说一下,我使用Simple HTML Dom Parser来解析表。
答案 0 :(得分:2)
使用$table = $html->find('table[border]')[0];
文档说明,除非你在函数find()
中指定索引,否则它将返回一个数组