我试图找出一些使用PHP file_get_contents 函数从外部页面获取数据的事情。
这是我试图开始工作的PHP代码:
$url = 'http://www.controller.com/listings/aircraft/for-sale/list/category/3/jet-aircraft/manufacturer/cessna/model/citation-mustang';
$content = file_get_contents($url);
$first_step = explode('<div class="listing">',$content);
$second_step = explode("</div>",$first_step[1]);
echo $second_step[0];
这是一个简单的代码,用于获取带有类“列表”的div的内容以在页面上回显。出于某种原因,我一直得到
注意未定义的偏移量错误:1
并无法找到解决此问题的方法。当我关闭错误报告时,它只返回一个空页面。我已经读过它与空数组或其他东西有关,但不知道如何解决这个问题。
提前致谢!
答案 0 :(得分:1)
您可以使用DOMDocument获取逐个类的名称:
$url = 'http://www.controller.com/listings/aircraft/for-sale/list/category/3/jet-aircraft/manufacturer/cessna/model/citation-mustang';
$content = file_get_contents($url);
$doc = new DOMDocument();
if (!$doc->loadHTML($content)) {
die ('error');
}
$a = new DOMXPath($doc);
$class = 'listing';
$divs = $a->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $class ')]");
// $divs contains every divs with "listing" in his class
// you can get content like that :
foreach ($divs as $div) {
echo $div->nodeValue;
// or
echo $div->textContent;
}
来自stackoverflow的这个问题的更多信息:Get all elements by class name using DOMDocument