Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Antes que me mandem procurar no forum, ja procurei e nao tem nada funcionando.
A pagina de cotações é : http://economia.uol.com.br/cotacoes/cambio/dolar-comercial-estados-unidos-principal.jhtm
A parte do codigo que preciso é esta:
<div class="tabela">
<table cellspacing="0">
<thead>
<tr>
<td></td>
<td>Compra</td>
<td>Venda</td>
<td>Variação</td>
</tr>
</thead>
<tbody>
<tr class="baixa">
<th><a href="/cotacoes/cambio/dolar-comercial-estados-unidos-principal.jhtm">Dólar comercial <span class="compl">(em R$)</span></a></th><td>1,8220</td><td>1,8240</td><td><span class="variacao">-0,1100%</span></td>
</tr>
<tr class="estavel">
<th><a href="/cotacoes/cambio/dolar-turismo-estados-unidos-principal.jhtm">Dólar turismo <span class="compl">(em R$)</span></a></th><td>1,7800</td><td>1,9400</td><td><span class="variacao">0,0000%</span></td>
</tr>
<tr class="alta">
<th><a href="/cotacoes/cambio/dolar-paralelo-estados-unidos-principal.jhtm">Dólar paralelo <span class="compl">(em R$)</span></a></th><td>1,9000</td><td>2,0000</td><td><span class="variacao">2,7000%</span></td>
</tr>
<tr class="alta">
<th><a href="/cotacoes/cambio/euro-uniao-europeia-principal.jhtm">Euro <span class="compl">(em R$)</span></a></th><td>2,4693</td><td>2,4722</td><td><span class="variacao">0,1660%</span></td>
</tr>
<tr class="baixa">
<th><a href="/cotacoes/cambio/libra-esterlina-reino-unido-principal.jhtm">Libra <span class="compl">(em R$)</span></a></th><td>2,8106</td><td>2,8125</td><td><span class="variacao">-0,1390%</span></td>
</tr>
<tr class="alta">
<th><a href="/cotacoes/cambio/peso-argentina-principal.jhtm">Pesos arg. <span class="compl">(em R$)</span></a></th><td>0,4724</td><td>0,4734</td><td><span class="variacao">0,2330%</span></td>
</tr>
</tbody>
</table>
</div>
fiz o seguinte:
function removeParams($input, $validTags = ''){
$regex = '#\s*<(/?\w+)\s+(?:on\w+\s*=\s*(["\'\s])?.+?\(\1?.+?\1?\);?\1?|style=["\'].+?["\'])\s*>#is';
return preg_replace($regex, '<${1}>',strip_tags($input, $validTags));
}
$conteudo = file_get_contents('http://economia.uol.com.br/cotacoes/cambio/dolar-comercial-estados-unidos-principal.jhtm');
$conteudo = removeParams($conteudo,"<tbody>,<td>,<th>");
$wra = "<tbody>[^<]+";
$wra .= "<th>(.+?)<\/th><td>(.+?)<\/td><td>(.+?)<\/td><td>(.+?)<\/td>[^<]+";
$wra .= "<th>(.+?)<\/th><td>(.+?)<\/td><td>(.+?)<\/td><td>(.+?)<\/td>[^<]+";
$wra .= "<th>(.+?)<\/th><td>(.+?)<\/td><td>(.+?)<\/td><td>(.+?)<\/td>[^<]+";
$wra .= "<th>(.+?)<\/th><td>(.+?)<\/td><td>(.+?)<\/td><td>(.+?)<\/td>[^<]+";
$wra .= "<th>(.+?)<\/th><td>(.+?)<\/td><td>(.+?)<\/td><td>(.+?)<\/td>[^<]+";
$wra .= "<th>(.+?)<\/th><td>(.+?)<\/td><td>(.+?)<\/td><td>(.+?)<\/td>[^<]+";
$wra .= "<\/tbody>";
preg_match_all("/{$wra}/", $conteudo, $saida1, PREG_SET_ORDER);
foreach ($saida1 as $val)
{
print $val[0] ;
}
Consegui extrair o seguinte resultado
<tbody>
<th>D�lar comercial (em R$)</th><td>1,8240</td><td>1,8260</td><td>0,0000%</td>
<th>D�lar turismo (em R$)</th><td>1,7800</td><td>1,9400</td><td>0,0000%</td>
<th>D�lar paralelo (em R$)</th><td>1,9000</td><td>2,0000</td><td>2,7000%</td>
<th>Euro (em R$)</th><td>2,4692</td><td>2,4711</td><td>0,1620%</td>
<th>Libra (em R$)</th><td>2,8105</td><td>2,8130</td><td>-0,1420%</td>
<th>Pesos arg. (em R$)</th><td>0,4727</td><td>0,4739</td><td>0,2970%</td>
</tbody>
entretando as TR´s seriam necessárias para saber se a moeda esta em alta ou em baixa, entao elas ficam oscilando em <tr class="alta">,<tr class="estavel"> ou <tr class="baixa">
Gostaria de uma ajuda para filtrar os resultados em:
<table>
<tr>
<td>Compra</td>
<td>Venda</td>
<td>Variacao</td>
</tr>
<tr>
<td colspan='4'>D�lar comercial (em R$)</td>
</tr>
<tr class='alta ou baixa ou estavel'>
<td>1,8240</td><td>1,8260</td><td>0,0000%</td>
</tr>
<tr>
<td colspan='4'>D�lar turismo (em R$)</td>
</tr>
<tr class='alta ou baixa ou estavel'>
<td>1,7800</td><td>1,9400</td><td>0,0000%</td>
</tr>
<tr class='alta ou baixa ou estavel'>
<td colspan='4'>D�lar paralelo (em R$)</td>
</tr>
<tr class='alta ou baixa ou estavel'>
<td>1,9000</td><td>2,0000</td><td>2,7000%</td>
</tr>
<tr>
<td colspan='4'>Euro (em R$)</td>
</tr>
<tr class='alta ou baixa ou estavel'>
<td>2,4692</td><td>2,4711</td><td>0,1620%</td>
</tr>
<tr>
<td colspan='4'>Libra (em R$)</td>
</tr>
<tr>
<td class='alta ou baixa ou estavel'>2,8105</td><td>2,8130</td><td>-0,1420%</td>
</tr>
<tr>
<td colspan='4'>Pesos arg. (em R$)</td>
</tr>
<tr class='alta ou baixa ou estavel'>
<td>0,4727</td><td>0,4739</td><td>0,2970%</td>
</tr>Carregando comentários...