Recentemente ho implementato la stessa cosa, ma utilizzando l'API di Google. L'URL della query ha questo aspetto:
http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD
Richiede 3 parametri. Il primo parametro è l'importo, seguito dal codice valuta ISO 4217 da cui stai convertendo, un segno di uguale e un punto interrogativo e il codice valuta in cui stai convertendo. Puoi trovare un elenco di codici supportati da Google qui . La risposta alla query sarà simile a questa:
{lhs: "1 British pound",rhs: "1.6132 U.S. dollars",error: "",icc: true}
Questo è abbastanza autoesplicativo, quindi non entrerò nei dettagli qui. Ecco come ho gestito la risposta alla query:
function convert_currency($amount, $from_code, $to_code){
ini_set('max_execution_time', 60);
$temp = 'http://www.google.com/ig/calculator?hl=en&q=' . $amount . $from_code . '=?' . $to_code;
$response = file_get_contents($temp);
$result_string = explode('"', $response);
$final_result = $result_string['3'];
$float_result = preg_replace("/[^0-9\.]/", '', $full_result);
return $float_result;
}
Sono sicuro che non sia il modo più elegante per farlo, ma sono abbastanza nuovo per PHP. Spero che sia d'aiuto!