簡體   English   中英

簡單的html dom無法正常工作

[英]simple html dom not working

我正在嘗試使用簡單的html dom來解析我的html數據。 但每當我使用下面的代碼我得到錯誤: -

Trying to get property of non-object

我的代碼是: -

foreach($html->find('div.row') as $val)
        {
            $name = $val->find('h1')->innertext;
            echo $name;
        }

但當我像這樣使用它時,我得到了正確的結果: -

foreach($html->find('div.row') as $val)
        {
            foreach($val->find('h1') as $v)
             echo $v->innertext;
        }

除非您將索引指定為第二個參數,否則find()方法返回一個數組。 你的第二段代碼工作,因為它遍歷數組並獲取數組中每個元素的innertext ,而你的第一段代碼試圖獲得實際數組的innertext屬性。

例如,如果要獲取h1的第一個(或唯一),請執行以下操作:

$name = $val->find('h1', 0)->innertext;

嘗試這個

$dom = new DOMDocument();
$dom->loadHTML($html);

$elements = $dom->getElementsByTagName('div');
foreach ($elements as $child) {
    echo $child->nodeValue;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM