PHP - 简单 HTML DOM 解析器 - 当 html 正常时出现 fatal error

标签 php html dom

我正在尝试解析一个表并在另一个表中输出明文。我已经走到这一步了:

<?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/

相关文章:

javascript - 我可以在本地发出 ajax 请求,然后将响应发送到互联网吗?

php - 如何使用PHP从JSON提取数据?

php - 一起使用javascript和php来验证

Javascript - 测试 DOM 操作

Javascript:如何从网页中检索文本

java - Jquery .attr(attrname) 并不总是有效?

php - 更快的图像处理。

html - 如何阻止 Firefox5 及更高版本中的可扩展文本区域功能?

javascript - jquery 在选项更改时循环选择标签

html - 在数据均衡器上定位内联 css