2010-11-27 5 views
2

J'ai un problème qui m'énerve à peu près. Je récupère du contenu à partir d'une page Web en combinant cURL et phpQuery.phpQuery obtenir attr à partir d'une balise vide

Dans la page que je suis aller chercher, il y a le code suivant qui détermine note après:

<div class="post"> 
    <ul id="thumb_ul" class="star-rating" style="width:60px;"> 
     <li class="current-rating" style="width:0px;"></li> 
    </ul> 
</div> 

J'utilise phpQuery comme suit:

$pqD = phpQuery::newDocument($buffer); 
foreach(pq('div.post') as $li) { 
    $rating = pq($li)->find('ul > li.current-rating')->attr('style'); 
} 

Les notations sont, évidemment, définis dans <li>, dans l'attribut style. Je pensais y accéder avec pq($li)->find('ul > li.current-rating')->attr('style') et je m'attendais à obtenir width:0px en conséquence. Les valeurs nominales sont définies comme suit: 0-0, 12-1, 24-2, ..., 60-6.

Cependant, phpQuery ne semble pas vraiment «intéressé» par une balise vide. Pour chaque autre chose que j'obtiens de la page, cela fonctionne bien.

Des idées? Thx

+0

vous devez mettre à jour votre phpQuery à la dernière version? –

Répondre

2

MISE À JOUR:

COMPLET SOURCE D'ESSAI: (copie et essai)

<?php 
require_once('phpQuery/phpQuery.php'); 

$buffer = ' 
    <div class="post"> 
    <ul id="thumb_ul" class="star-rating" style="width:60px;"> 
     <li class="current-rating" style="width:0px;"></li> 
     <li class="current-rating" style="width:6px;"></li> 
      <li class="current-rating" style="width:8px;"></li> 
    </ul> 
</div> 
'; 

$doc = phpQuery::newDocument($buffer); 
foreach ($doc['.post ul li.current-rating'] as $li) { 
    $rating .= pq($li)->attr('style'); 
    // or $rating[] .= if you need an array() 
} 

echo $rating; //ouput: width:0px;width:6px;width:8px; 
?> 
+0

je vous remercie pour votre réponse, mais cela me laisse avec les mêmes résultats - aucun :) – hummingBird

+0

je l'ai testé personnellement et ça marche! ;) –

+0

Je suis vraiment désolé de ne pas vous avoir attribué ce bonus de +50. Il s'est avéré que stackoverflow m'a montré des informations sur votre commentaire trop tard :( – hummingBird

Questions connexes