我以为我以前有这个工作,但是我发现它不能一直正常工作,并且我试图找出原因。
$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>
?