2013-04-17 2 views
0

У меня есть DIV, и хочу получить 7,89 номер, мой селекторPHP Simple HTML DOM Parser Дива Селектор

<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>'; 
    } 
Смежные вопросы