J'ai récemment mis en œuvre la même chose, mais en utilisant l'API de Google. L'URL de la requête ressemble à ceci:
http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD
Il faut 3 paramètres. Le premier paramètre est le montant, suivi du code de devise ISO 4217 à partir duquel vous effectuez la conversion, d'un signe égal et d'un point d'interrogation, et du code de devise vers lequel vous effectuez la conversion. Vous pouvez trouver une liste des codes pris en charge par Google ici . La réponse à la requête ressemblera à ceci:
{lhs: "1 British pound",rhs: "1.6132 U.S. dollars",error: "",icc: true}
C'est assez explicite, donc je n'entrerai pas dans les détails ici. Voici comment j'ai géré la réponse à la requête:
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;
}
Je suis sûr que c'est loin d'être la manière la plus élégante de faire cela, mais je suis assez nouveau dans PHP. J'espère que ça aide!