Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

2100928

[Resolvido] Expressões Regulares [Cambio]

Mensagens Recomendadas

2100928

Boa tarde pessoal,

Estou a construir uma aplicação em php e a mesma precisa de ter o valor do dollar face ao euro o mais actualizado possível.

Assim e após alguma pesquisa, encontrei o www.ecb.europa.eu (Banco central europeu) que disponibiliza diariamente entre as 14:15 e as 15:00 esse valor.

Melhor ainda... disponibiliza o XML :) (http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml)

Acredito que isto seja algo que muitos de vocês já sabiam, eu descobri agora ;)

Agora o meu problema.


<?php
$XML=simplexml_load_file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");

foreach($XML->Cube->Cube->Cube as $rate){ //Valor face ao Eur.
$moedas = ' '.$rate["rate"].' '.$rate['currency'].'<br/>';
echo $moedas;
}
?>

Básicamente este código mostra listado diversas moedas com o valor de cambio para 1€.

Agora o que eu queria era guardar em 2 variáveis

$dataUltimaActualizacao (Ex. 2015-05-08)

$valorDollar (Ex. 1.1221)

Sei que é relativamente simples, lembro-me de algo do género nas aulas de PEARL :)

Logo a lógica penso que seja...

Pegar no XML e ter duas expressões regulares

Mostrar os 10 caracteres seguintes a <Cube time="

Mostrar os caracteres seguintes a <Cube currency="USD" rate=" até "/>

Obrigado


André Almeida

Programação Web

Design de Comunicação

Web Marketing

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

K.I.S.S.

<?php
$XML = simplexml_load_file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");

$date = $XML->Cube->Cube->attributes()['time'];
$conv = 0;
foreach ($XML->Cube->Cube->Cube as $cube) {
   if ($cube->attributes()['currency'] == 'USD') {
       $conv = $cube->attributes()['rate'];
       break;
   }
}

echo "date : ".$date."\n";
echo "conv : ".$conv."\n";

nota : este código só funciona para versões actualizadas do PHP (redirecionamento de arrays associativos directamente na chamada de um método)

  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
2100928

Perfect... é isto mesmo.

Obrigado HappyHippyHippo!!

Tópico Resolvido ;)


André Almeida

Programação Web

Design de Comunicação

Web Marketing

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.