PHP简单HTML DOM解析器在多个类上返回null

时间:2018-07-10 15:45:32

标签: php html html-parsing

我正在尝试使用简单HTML DOM解析器从远程URL解析此HTML:

<div class="_5pbx userContent _3ds9 _3576" data-ft="data-ft='{"tn":"K"}'">
<p>text to be parsed</p>
<p>the rest of text</p>
</div>

我使用的PHP代码如下:

include (getdomain . "/lib/simple_html_dom.php");

$html = new simple_html_dom();
$get = file_get_contents("http://localhost/get/d.json");
$html->load($get);
foreach ($html->find('div[class=_5pbx userContent _3ds9 _3576]') as $link) {
 if(isset($link)){
          echo $link->plaintext ;
    }
  }

但是它不起作用,我知道<p>标签,并且我尝试为此添加if语句,但仍然不起作用,如下所示:

include (getdomain . "/lib/simple_html_dom.php");

$html = new simple_html_dom();
$get = file_get_contents("http://localhost/get/d.html");
$html->load($get);
foreach ($html->find('div[class=_5pbx userContent _3ds9 _3576]') as $link) {
 if(isset($link)){
foreach($link->find('p') as $tag)
    {
          echo $tag->plaintext ;
    }
  }
}

但是所有的方法都无效:(

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

  

我尝试过了。它正在工作。

<?php
include (getcwd() . "/simple_html_dom.php");
$html = new simple_html_dom();
$get = file_get_contents("http://localhost/zdemo/php%20selenium/d.json");
$html->load($get);
foreach ($html->find('div[class=_5pbx userContent _3ds9 _3576]') as $link) 
{
    if(isset($link))
    {
          echo $link->plaintext ;
    }
}