E agora, como vamos achar o arquivo "moedas.aspx" ?
Achar não vamos, pois não existe... portanto, bora usar outra fonte!
Segue um código mais trabalhado, he he he:
<?php
/*
* Parâmetros
*
* moeda = com, par, tur (comercial, paralelo, turismo)
* valor = c, v (compra, venda)
* retorna_data = false, true
* formato_data = ver função date()
*/
function cotacao_dolar($moeda = null, $valor = 'v', $retorna_data = false, $formato_data = 'd/m H:i')
{
$indicadores = file_get_contents('http://www.panoramabrasil.com.br/index.asp?e=indicadores');
preg_match('#(3[0-1]|[1-2][0-9]|0[1-9])/(1[0-2]|0[1-9]) - (2[0-3]|[0-1][0-9]):([0-5][0-9])#', $indicadores, $data);
$atualizacao = mktime($data[3], $data[4], 0, $data[2], $data[1], date('Y'));
preg_match_all('#[0-9]*,[0-9]{4}#', $indicadores, $cotacoes);
$retorno = array('atualizacao' => date($formato_data, $atualizacao),
'cotacoes' => array(
'com' => array(
'c' => $cotacoes[0][0],
'v' => $cotacoes[0][1],
),
'par' => array(
'c' => $cotacoes[0][2],
'v' => $cotacoes[0][3],
),
'tur' => array(
'c' => $cotacoes[0][4],
'v' => $cotacoes[0][5],
),
),
);
if (isset($retorno['cotacoes'][$moeda]) && in_array($valor, array('c', 'v'))) {
if ($retorna_data) {
return array(
'atualizacao' => $retorno['atualizacao'],
'cotacao' => $retorno['cotacoes'][$moeda][$valor],
);
} else {
return $retorno['cotacoes'][$moeda][$valor];
}
} else {
return $retorno;
}
}
// Exemplos de uso
print_r(cotacao_dolar()); // (array) Vetor com todos dados
print cotacao_dolar('com'); // (string) Dólar comercial (venda) -> venda = padrão
print cotacao_dolar('com', 'c'); // (string) Dólar comercial (compra)
print cotacao_dolar('com', 'v'); // (string) Dólar comercial (venda)
print_r(cotacao_dolar('com', 'c', true)); // (array) Dólar comercial (compra) + data de atualização no formato padrão (dia/mes hora:minuto)
print_r(cotacao_dolar('com', 'v', true, 'H:i')); // (array) Dólar comercial (venda) + data de atualização no formato especificado (hora:minuto)
?>
[]s
Até mais