我以为我有这个工作一段时间了,但我发现它并不总是正常工作,我试图找出原因。
$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)
,但我不知道这会无限期地解决这个问题。
所以问题是,是什么导致它返回 this 而不是 first <p>
?