我正在尝试解析一个表并在另一个表中输出明文。我已经走到这一步了:
<?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.";
}
?>
这会返回一个错误:
fatal error :第 78 行在/var/www/html/jsudimak/mailman/webdev-test1.php 中的非对象上调用成员函数 find()
第 78 行是这样的:$row = $table->find('tr');
这意味着:
- html 有效
- 我尝试解析的表也是有效的
因此,我对 find()
方法仍然返回此错误这一事实感到困惑。
过去几天我广泛调查了此错误的原因,但尚未找到解决方案。我也尝试过其他一些解析工具,但仍然没有运气。帮我调试一下吧!!!!
顺便说一句,我正在使用 Simple HTML Dom Parser 来解析该表。
最佳答案
使用$table = $html->find('table[border]')[0];
文档说,除非您在函数 find()
中指定索引,否则它将返回一个数组
关于PHP - 简单 HTML DOM 解析器 - 当 html 正常时出现 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35894476/