Hoje em um dos meus freelas, precisei exibir a cotação diária do Dolar na home do site.
Encontrei alguns scripts na web mas nenhum me atendeu do jeito que queria.
Ai meu amigo LucasPirola me indicou a usar RSS.
Procuramos em vários sites até que ele encontrou uma solução: O Bank of Canada , ele disponibiliza um RSS com as informações sobre taxa de dolar, entre outras.
O mais legal, é que um cara chamado Matthew Skala criou esta ferramentinha que já faz as conversões para várias moedas utilizando o RRS do Bank of Canada e gera um RSS com as informações filtradas.
Agora o Código para ler o RSS em PHP :
<?php $msg=''; //caminho do XML $url = curl_init("http://ansuz.sooke.bc.ca/rippy/exchange/?M=R&B=BRL&F=USD"); curl_setopt($url, CURLOPT_RETURNTRANSFER, true); curl_setopt($url, CURLOPT_HEADER, 0); $dados = curl_exec($url); curl_close($url); if($dados=='Invalid Request'){ $msg = 'Erro ao buscar taxa do Dolar!!.'; }else { $rss = new SimpleXmlElement($dados, LIBXML_NOCDATA); if(isset($rss->channel)) { //como no meu caso vem só um registro, eu forcei a posicao 0 //caso fosse mais registros, eu chamaria esta funcao leRSS //leRSS($rss); $texto = $rss->channel->item[0]->title; $data = substr($texto, 8 ,2).'/'.substr($texto, 5 ,2).'/'.substr($texto, 0 ,4); $txdolar = substr($texto, 16 ,8); $msg = 'Dólar R$ '.$txdolar.' em '.$data.'.'; } } function leRSS($xml) { $cnt = count($xml->channel->item); for($i=0; $i<$cnt; $i++) { //existem outras variaveis que da para utilizar no rss, como link, title,desc..etc... //mas o cara que criou o rss ,definiu que os valores das taxas viriam no titulo /* $url = $xml->channel->item[$i]->link; $title = $xml->channel->item[$i]->title; $desc = $xml->channel->item[$i]->description; */ $texto = $xml->channel->item[0]->title; $data = substr($texto, 8 ,2).'/'.substr($texto, 5 ,2).'/'.substr($texto, 0 ,4); $txdolar = substr($texto, 16 ,8); echo $texto.'<br />'; echo $data.'<br />'; echo $txdolar.'<br />'; } } ?>
É isso ai, espero que ajudem.
Abs.
Diego
Tags: PHP RSS cotacao dolar








Meus Parabens!!!!
Otimo tutorial, me salvou a vida
Diego, tudo bem?
Você tem um email que possa entrar em contato?
Obrigado.
Maykson
Olá Maykson, tem sim, pode ser atraves do eu[at]diegoalex.com
Abs.
Bah cara, tentei mas não funcionou, será que tenho de habilitar algo no PHP? Grato.
Julio, i endereço em que pegava a cotação não existe mais, vou ver se encontro outro… Aí eu atualizo o post e Tê aviso!
Abs!