加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中的故障简单的HTML DOM解析器

发布时间:2020-12-13 22:38:01 所属栏目:PHP教程 来源:网络整理
导读:我正在使用 PHP Simple HTML DOM Parser来抓取网店的一些数据(也运行XAMPP 1.7.2和PHP5.3.0),我遇到了 tbody的问题.标签.该表的结构是必要的(细节并不是那么重要): table thead !--text here-- /thead tbody !--text here-- /tbody/table 现在,我正试图进入
我正在使用 PHP Simple HTML DOM Parser来抓取网店的一些数据(也运行XAMPP 1.7.2和PHP5.3.0),我遇到了< tbody>的问题.标签.该表的结构是必要的(细节并不是那么重要):
<table>
  <thead>
    <!--text here-->
  </thead>
  <tbody>
    <!--text here-->
  </tbody>
</table>

现在,我正试图进入< tbody>部分使用代码:

$element = $html->find('tbody',0)->innertext;

它不会抛出任何错误,它只是在我试图回应时没有打印出来.我已经在其他元素上测试了代码,< thead>,< table>,甚至类似于< span class =“price”>并且它们都工作正常(当然,删除“,0”代码失败).他们都给出了正确的部分. Outertext同上.但这一切都失败了< tbody>.

现在,我已经浏览了Parser,但我不确定我是否能解决它.我注意到了< thead>甚至没有提到,但它工作正常.耸

我想我可以尝试做儿童导航,但这似乎也有问题.我刚试过跑:

$el = $html->find('table',0);
$el2 = $el->children(2);
echo $el2->outertext;

而且没有骰子.尝试用first_child代替孩子,用1代替2,但仍然没有骰子.有趣的是,如果我尝试 – >找到而不是孩子,它的工作完美.

我非常有信心我可以找到一个解决方案,但这种行为似乎很奇怪,可以在这里发布.我好奇的心灵很高兴得到所有的帮助.

在simple_html_dom.php文件中注释或删除第396行
// if ($m[1]==='tbody') continue;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读