【问题标题】:simple html dom not working properly, showing errors [closed]简单的 html dom 无法正常工作,显示错误 [关闭]
【发布时间】:2013-03-15 12:50:05
【问题描述】:

我正在使用简单的 html dom 来解析 html 页面..... 这是我的代码..

include('simple_html_dom.php');


$html = file_get_html($my_url);


foreach($html->find('div') as $ul) {
     echo $ul;
   }

而且我还尝试了许多其他方法。我仍然收到此错误。 错误:

 Call to a member function find() on a non-object

我也尝试过其他标签...

  $html->find('a');
  $html->find('h3');
  //But still same above error

谁能帮我解决这个错误..提前谢谢

【问题讨论】:

  • include 更改为 require 以便在包含失败时出错。只是为了确保确实正在加载。
  • 另外,$my_url 未定义。
  • 我已经定义好了,我只是在上面的代码中没有发布......
  • @joeframbach Stil nt 工作老兄......
  • 恕我直言,网址无效或该网址中的 html 格式错误。

标签: php html cakephp dom simple-html-dom


【解决方案1】:

我找到了解决方案, 解决办法是:-

simple_html_dom 的最新版本有错误......所以不要 使用 sourceforge 中的 simplehtmldom_1_5 文件...更好地使用 sourceforge 的 simplehtmldom_1_10 工作正常。

simplehtmldom_1_5 中的错误:-

任何网站的网址在这里都不起作用。您可以提供 html 文件的 url,但是 站点 url 不起作用它没有识别你的对象 $html 之后 读取网址....

希望它可以帮助面临类似问题的人......

【讨论】:

  • 这根本不是真的。我一直在使用 1.5,它使用 url 工作。由于不同的版本及其对格式错误的 html 的处理,您可能会得到不同的结果。为此,正确的解决方案是迁移到基于 libxml 的解析器,例如 phpquery。但这是一个不同问题的主题......
  • @pguardiario 对我来说至少有 1.5 力的工作。据我所知,与简单的 dom 相比,phpQuery 的文档和支持很差
  • 我知道它对你不起作用,但不是因为 1.5 不能像你说的那样使用 url。相反,因为 html 格式错误,并且 simple 无法像基于 libxml 的解析器那样可靠地处理格式错误的 html。
  • 我几乎尝试了很多网址
  • 嗯,它对我来说很好,这让我相信你在做一些愚蠢的事情。
【解决方案2】:

你正在使用 cakephp,所以你不能像这样使用它。

您需要创建vendor( for controller )create helper( for view )

另外一个$html 已经为$html helper 保留。

供供应商加载

App::import('Vendor', 'HTMLDOM', array('file' => 'HtmlDom' . DS . 'simple_html_dom.php'));

为了帮手。

App::import('Helper', 'HtmlDom');
$NewHtmlDom = new SimpleHtmlDom; 

$fileContent = $NewHtmlDom->file_get_html($my_url);

【讨论】:

  • 我能够包含这些文件,我已经使用简单的 php 进行了尝试,并且在它们中都出现了相同的错误
  • @PavanK 只要您将文件放在正确的目录中并正确包含,就不可能实现...还要确保该函数存在于 simpledom php 文件中。
  • 是的,我检查并验证了所有内容,文件已正确包含并且查找功能也存在............
猜你喜欢
  • 2020-08-24
  • 2012-08-29
  • 1970-01-01
  • 2011-06-24
  • 1970-01-01
  • 1970-01-01
  • 2016-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多