我正在尝试从代码中的链接获取<div class="clearfix" id="searchResultsDiv">
的内容。无论我尝试什么,它都会显示一条通知,如下所示
注意:尝试在第20行的E:\ xampp \ htdocs \ homeshop \ index.php中获取非对象的属性
$link="http://www.homeshop18.com/samsung/categoryid:3027/search:samsung/inStock:true/sort:Popularity/?it_category=MN&it_action=MA-MMAA01&it_label=MN-MMAA01-140906000003-PD-MA-OT-OT-SR_Samsung-0_0-0-MNU101-MA-140730-OT-OT-SR&it_value=0";
$productPage=file_get_html($link);
$wholeContent=$productPage->find('div[id=searchResultsDiv]');
echo $wholeContent->plaintext; //line 20
有一个带有此ID的元素,但我仍然无法做到这一点。哪里错了?
答案 0 :(得分:8)
find
会返回一系列匹配元素,即使只有一个匹配项也是如此。您需要将其编入索引以获取元素。
if ($wholeContent) {
echo $wholeContent[0]->plaintext;
}
答案 1 :(得分:0)
确保代码中没有重复的#searchResultsDiv
。
在这种情况下,find()
会返回对象数组而不是对象本身
答案 2 :(得分:0)
要扩展@Barmar回答,您也可以执行以下操作:
$wholeContent=$productPage->find('div[id=searchResultsDiv]', 0);
$wholeContent->plaintext;