2013-04-17 70 views
0

我有格,並希望得到7,89號,我的選擇是PHP簡單的HTML DOM解析器格選擇

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

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

,但我得到空數組,我做錯了什麼?

回答

1

試試這個:

$ret['Rating'] = $html->find('div.star-box-giga-star', 0)->innertext; 
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; 
} 
-1

使用XPath,而不是直接:

foreach($xpath->query('//div[contains(@class, "star-box-giga-star")]') as $rating) { 
     echo $rating->nodeValue, '<br>'; 
    }