Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com problemas em ordenar o tipo de jogo, o HTML está com a seguinte estrutura:
<li id="sitetal">
<span class="selectionName">Empate</span>
<span class="price">
<span class="value">3.20</span>
<span class="arrow"> </span>
</span>
<div style="display: none" class="sports">Football </div>
</li>
<li id="sitetal">
<span class="selectionName"> Menos de</span>
<span class="price">
<span class="value">3.20</span>
<span class="arrow"> </span>
</span>
<div style="display: none" class="sports">Football </div>
<span class="cleanHandicap">(-1.5)</span> <div style="display: none" class="sports">Football </div>
</li>
<li id="sitetal">
<span class="selectionName">Acerto</span>
<span class="price">
<span class="value">1.20</span>
<span class="arrow"> </span>
</span>
<div style="display: none" class="sports">Football </div>
</li>
<li id="sitetal">
<span class="selectionName">Handicap</span>
<span class="price">
<span class="value">3.20</span>
<span class="arrow"> </span>
</span>
<div style="display: none" class="sports">Football </div>
<span class="cleanHandicap">(-3)</span> <div style="display: none" class="sports">Football </div>
</li>
Eu quero mostrar organizado a span class="selectionName" e span class="cleanHandicap".
Usei então o DOM:
$DOM = new DOMDocument();
$DOM->loadHTML('<meta charset="utf-8">'.$html2);
$xpath = new DomXpath($DOM);
$price = $xpath->query('//*[contains(concat(" ", normalize-space(@class), " "), "cleanHandicap")]');
$price2 = $xpath->query('//*[contains(concat(" ", normalize-space(@class), " "), "selectionName")]');
$a = array_map(null,iterator_to_array($price),
iterator_to_array($price2));
foreach($a as $av){
echo $av[1]->nodeValue . " ". $av[0]->nodeValue . "<br />";
}
Eu espero que a saída seja algo como:
>
Empate
Menos de (1-5)
Acerto
Handicap (-3)
Mas está saindo assim:
>
Empate (1-5)
Menos de (-3)
Acerto
Handicap
Ou seja, está organizado de forma errada, obviamente por que está encontrado apenas 2 cleanHandicap para 4 selectionName, mas como eu faria pra organizar ele direitinho? Ou seja, atribuir o valor de cleanHandicap para o selectionName correto, ou seja, que contenha a span cleanHandicap em seu <li>?
Tentei várias coisas mas não dar certo!
Carregando comentários...