Ajuda - Busca - Membros - Calendário
Versão Completa: Cotação do Dolar e outros
Fórum Script Brasil > Programação & Desenvolvimento > PHP > Repositório de Scripts - PHP
Vinicius.Souza
Olá Pessoal desenvolvi uma função que retorna a cotação detalhada (como preço de compra, preço de venda e taxa de variação) das seguinte moedas:

- Dólar Comercial
- Dólar Turismo
- Dólar Paralelo
- Euro
- Libra
- Peso arg.

segue o código:
CODE
function eCotafacil(){
    $saida = array();
    
    libxml_use_internal_errors( TRUE );
    
    $file = file_get_contents( 'http://economia.uol.com.br/cotacoes/' );
    $file = strtr( $file, array( 'th'=>'td', '(em R$)'=>'' ) );
    
    $DOM  = new DOMDocument();
    $DOM -> loadHTML( $file );
    
    $dados = $DOM->getElementsByTagName( 'td' );
    
    for( $i=37; $i<60; $i++ ){
        if($i == 37 || $i == 41 || $i == 45 || $i == 49 || $i == 53 || $i == 57){
            
            $arrAux = array('tipo'=>utf8_decode( $dados->item($i)->nodeValue ),    'compra'=>utf8_decode( $dados->item($i+1)->nodeValue ), 'venda'=>utf8_decode( $dados->item($i+2)->nodeValue ), 'variacao'=>utf8_decode( $dados->item($i+3)->nodeValue ) );    
        
            array_push( $saida, (object)$arrAux );    
        }
    }
    
    return $saida;
}


A forma de usar é simples, você pode usar a chamada direta ou usar um laço for para montar uma tabela html com os dados, a função retornar um array com um obj com os dados de cada moeda, as propriedades do obj retornado são: tipo, compra, venda e variacao que correspondem a dolar euro ou libra..., valor de compra em REAIS R$ [BRL], valor de venda em REAIS R$ [BRL], e porcentagem da taxa de variação do câmbio respectivamente.

ex: chamada direta (cada indice do array corresponda a um tipo de moeda);
CODE
$minhaCotacao = eCotafacil();
echo $minhaCotacao[0]->tipo . '<br />';
echo $minhaCotacao[0]->compra . '<br />';
echo $minhaCotacao[0]->venda . '<br />';
echo $minhaCotacao[0]->variacao . '<br />';


ex: chama dentro de um laço for
CODE
$minhaCotacao = eCotafacil();
for($i=0; $i<count($minhaCotacao); $i++){

echo $minhaCotacao[$i]->tipo . '<br />';
echo $minhaCotacao[$i]->compra . '<br />';
echo $minhaCotacao[$i]->venda . '<br />';
echo $minhaCotacao[$i]->variacao . '<br />';
echo '--------------------------------------------------<br />';
}


Não esqueça ao exibir a cotação em seu site ou blog de citar o site UOL Economia com fonte de suas cotações, pois é de onde o script retira os dados.

Postem os resultados ae...
[]'s
MCAsite

Ótimo script, mas não está mais funcionando.
Será que tem como atualizar os indices. Parece que o UOL alterou os nomes dos campos, pois os resultados mostram outros itens
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2013 Invision Power Services, Inc.