我有 div,想要获取7,89
数字,我的选择器是
<div class="titlePageSprite star-box-giga-star"> 7,89 </div>
$ret['Rating'] = $html->find('div.star-box-giga-star')->content;
但我得到空数组,我做错了什么?
我有 div,想要获取7,89
数字,我的选择器是
<div class="titlePageSprite star-box-giga-star"> 7,89 </div>
$ret['Rating'] = $html->find('div.star-box-giga-star')->content;
但我得到空数组,我做错了什么?
尝试这个:
$ret['Rating'] = $html->find('div.star-box-giga-star', 0)->innertext;
find()
返回与查找参数匹配的所有元素的 DOMNodeList,即使只有一个(或没有)匹配元素。您可以通过可选参数具体告诉它要返回哪个节点:
$rating = $html->find('div.star-box-giga-star', 0)
^^^^---return 1st node (0-based)
或类似的愚蠢的东西
$nodes = $html->find(...);
foreach($nodes as $node) {
$rating = $node->content;
break;
}
直接使用 XPath:
foreach($xpath->query('//div[contains(@class, "star-box-giga-star")]') as $rating) {
echo $rating->nodeValue, '<br>';
}