PHP简单HTML dom解析器不返回任何东西


php simple html dom parser doesn't return anything

为什么我的脚本不会返回div与"pp-featured"的id ?

<?php
# create and load the HTML  
include('lib/simple_html_dom.php');  
$html = new simple_html_dom();  
$html->load("http://maps.google.com/maps/place?cid=6703996311168776503&q=hills+garage&hl=en&view=feature&mcsrc=google_reviews&num=20&start=0&ved=0CFUQtQU&sa=X&ei=sCq_Tr3mJZToygTOmuCGCg");  
$ret = $html->find('div[id=pp-featured]');
# output it!  
echo $ret->save();
?>

这让我上路了。谢谢你的帮助。

<?php
include_once 'lib/simple_html_dom.php';
$url = "http://maps.google.com/maps/place?cid=6703996311168776503&q=hills+garage&hl=en&view=feature&mcsrc=google_reviews&num=20&start=0&ved=0CFUQtQU&sa=X&ei=sCq_Tr3mJZToygTOmuCGCg";
$html = file_get_html($url);
$ret =  $html->find('div[id=pp-reviews]');
foreach($ret as $story)
    echo $story;
?>

标准库总是返回一个数组,因为可能有多个项与选择器匹配。

如果您只期望一个页面,您应该检查以确保您的分析页面的行为符合预期。

建议解决方案:

<?php
include_once 'lib/simple_html_dom.php';
$url = "http://maps.google.com/maps/place?cid=6703996311168776503&q=hills+garage&hl=en&view=feature&mcsrc=google_reviews&num=20&start=0&ved=0CFUQtQU&sa=X&ei=sCq_Tr3mJZToygTOmuCGCg";
$html = file_get_html($url);
$ret =  $html->find('div[id=pp-reviews]');
if(count($ret)==1){
echo $ret[0]->save();
}
else{
echo "Something went wrong";
}