我看到这篇文章:
Text from <p>
tag using DOM Php
我遇到了类似的问题,我<p>
$dom->loadHTMLFile($url);
代码为空
如果我查看原始网站,则所有<p>
代码中都包含文字,我已通过此方法获取页面验证了这一点:
$data = 'somedata';
$optional_headers = null;
$url = 'http://www.myurl.com';
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$context = stream_context_create($params);
$fp = @fopen($url, 'r', false, $context);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
fclose($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
如果我回复$ response,我会按预期填充<p>
个标签。
当我将$ url更新为正确的“http://www.myurl.com?q=value”时,请使用
$dom = new DOMDocument();
$dom->loadHTMLFile($url);
libxml_use_internal_errors(true);
$dom->loadHTMLFile($url);
echo $dom->saveHTML();
我将<p>
标记全部清空,并且引用的数据应该引用(尽管引号在呈现给浏览器时不可见。)
任何人都可以解释为什么会发生这种情况以及如何解决这个问题?