试图获取非对象的属性简单的HTML DOM解析器

时间:2014-09-09 18:59:31

标签: php simple-html-dom

我正在尝试从代码中的链接获取<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的元素,但我仍然无法做到这一点。哪里错了?

3 个答案:

答案 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;