0

我以为我有这个工作一段时间了,但我发现它并不总是正常工作,我试图找出原因。

$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>

4

0 回答 0