0

我有 div,想要获取7,89数字,我的选择器是

<div class="titlePageSprite star-box-giga-star"> 7,89 </div>

$ret['Rating'] = $html->find('div.star-box-giga-star')->content;

但我得到空数组,我做错了什么?

4

3 回答 3

1

尝试这个:

$ret['Rating'] = $html->find('div.star-box-giga-star', 0)->innertext;
于 2013-04-17T14:30:44.660 回答
0

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;
}
于 2013-04-17T14:31:05.517 回答
-1

直接使用 XPath:

   foreach($xpath->query('//div[contains(@class, "star-box-giga-star")]') as $rating) {
      echo $rating->nodeValue, '<br>';
   }
于 2013-04-17T14:31:25.467 回答