2010-11-27 7 views
2

Ich habe ein Problem, das mich ziemlich nervt. Ich nehme einige Inhalte von einer Webseite mit der Kombination von cURL und phpQuery.phpQuery erhalten Attr von einem leeren Tag

auf der Seite ich holen, gibt es folgenden Code, die Post Bewertung bestimmt:

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

Ich verwende phpQuery wie folgt dar: in

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

Bewertungen sind offensichtlich definiert <li> Tag, in style Attribut. Ich dachte an den Zugriff mit pq($li)->find('ul > li.current-rating')->attr('style') und ich erwartete, dass width:0px als Ergebnis erhalten. Bewertungen sind wie folgt definiert: 0-0, 12-1, 24-2, ..., 60-6.

Allerdings scheint phpQuery nicht sehr an einem leeren Tag interessiert zu sein. Für jede andere Sache, die ich von der Seite ergreife, funktioniert es gut.

Irgendwelche Ideen? Thx

+0

müssen Sie Ihre phpQuery auf die neueste Version aktualisieren? –

Antwort

2

UPDATE:

FULL TEST QUELLE: (Kopieren und Test)

<?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

danke für deine antwort, aber das lässt mich mit gleichen ergebnissen - keine :) – hummingBird

+0

ich habe es persönlich getestet und es funktioniert! ;) –

+0

Es tut mir sehr leid, dir diese +50 nicht zugewiesen zu haben. Es stellte sich heraus, dass stackoverflow zeigte mir Informationen über Ihren Kommentar zu spät :( – hummingBird

Verwandte Themen