我正在使用簡單的 html dom 來解析一個(gè)鏈接,該鏈接包含兩個(gè)類型為 application/ld+json 的腳本標(biāo)簽。目標(biāo)網(wǎng)站結(jié)構(gòu)如下,// tag that I want to parse<script type="application/ld+json">Some JSON Data</script>// tag that I **do not want** to parse<script type="application/ld+json">Some JSON Data</script>現(xiàn)在正如我上面所示,我只想解析第一個(gè)中的數(shù)據(jù),為此我使用以下代碼foreach($html->find('script[type="application/ld+json"]',0) as $name){ echo $name->innertext;}當(dāng)我試圖通過在 find() 函數(shù)中指定“0”來提取第一次出現(xiàn)時(shí),但這給了我以下錯(cuò)誤。Trying to get property of non-object in C:\xampp\htdocs\htmldom\example\example_basic_selector.php on line 14任何人都知道我做錯(cuò)了什么或者我該如何解決這個(gè)問題?謝謝
1 回答

白衣非少年
TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
如果您指定所需實(shí)例的索引,則只會(huì)返回該元素而不是列表,因此不需要循環(huán)(實(shí)際上是問題所在)...
$json = $html->find('script[type="application/ld+json"]',0);
echo $json->innertext;
僅供參考,代碼來自find()...
// return nth-element or array
if (is_null($idx)) return $found;
else if ($idx<0) $idx = count($found) + $idx;
return (isset($found[$idx])) ? $found[$idx] : null;
- 1 回答
- 0 關(guān)注
- 87 瀏覽
添加回答
舉報(bào)
0/150
提交
取消