使用file_get_html和PHP Simple HTML DOM获取整个页面的一部分。

时间:2016-08-22 11:45:07

标签: php dom

这是我的代码:

<?php

 include('simple_html_dom.php');

$html = file_get_html('http://www.bbc.com');

    $html = strstr($html, '<span class="module__title__link tag tag--feature">Rio 2016</span>');
    $html = strstr($html, '<span class="module__title__link tag tag--feature">Editor’s Picks</span>', true);
    $html = substr($html, 0, -1);

foreach($html->find('div.media__content') as $article) {

  echo $article; } 

?>

我使用strstr返回该页面的一部分,当我echo $html;一切正常时。

但我得到了:Fatal error: Call to a member function find() on a non-object

我该怎么办?

更新:解释我想做的事情:

  

1:Parse&#34; bbc.com&#34;如html
  2:修剪那部分   3:将部件分配给$ html
  4:查找部分并将其分配给字符串,如:
  $item['description'] = $article->find('a', 0)->href;

2 个答案:

答案 0 :(得分:0)

在foreach循环中使用str

<?php
    include('simple_html_dom.php');
    $html = file_get_html('http://www.bbc.com');

        foreach($html->find('div.media__content') as $article) {

         echo strstr($article, 'What You Want To Search');

             } 

        ?>

答案 1 :(得分:-1)

$ html是一个字符串而不是一个对象,因此,你不能在它上面调用一个方法。