没有获得正确的nodeValue

时间:2019-01-26 18:58:08

标签: php curl nodevalue

我以为我以前有这个工作,但是我发现它不能一直正常工作,并且我试图找出原因。

$resolver = new URLResolver();
$resolve= $resolver->resolveURL($site);
$resolved = $resolve->getURL();
$parsing = file_get_contents_curl($resolved);
$doc = new DOMDocument();
@$doc->loadHTML($parsing);

$para = $doc->getElementsByTagName('p');
$firstparagraph = $para->item(0)->nodeValue;
echo $firstparagraph;

我希望上面的内容返回<p>的第一个实例的内容。通常这有效,但并非总是如此。

有时候我得到的回报是:

string(5335) "HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=15 Date: Sat, 26 Jan 2019 18:37:18 GMT Server: Apa..........

此特定输出是从https://gener8ads.com/referral/?ref=test返回的

获得以上输出后,我发现是否更改为item(1)会正确返回$firstparagraph

我想知道为什么会发生这种情况,也许我可以在发生这种情况时写一个适当的检查,以便返回正确的第一段。我意识到在这种情况下,我可以只检查HTTP /的输出,如果存在,则移至item(1),但我不知道这将无限期地解决此问题。

问题是,是什么导致它返回此值而不是第一个<p>

0 个答案:

没有答案