Gần đây tôi đã triển khai điều tương tự, nhưng sử dụng API của Google. URL truy vấn trông giống như sau:
http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD
Nó có 3 tham số. Tham số đầu tiên là số tiền, tiếp theo là mã đơn vị tiền tệ ISO 4217 mà bạn đang chuyển đổi, dấu bằng và dấu chấm hỏi, và mã đơn vị tiền tệ bạn đang chuyển đổi. Bạn có thể tìm thấy danh sách các mã mà Google hỗ trợ tại đây . Phản hồi cho truy vấn sẽ giống như sau:
{lhs: "1 British pound",rhs: "1.6132 U.S. dollars",error: "",icc: true}
Điều này khá dễ hiểu, vì vậy tôi sẽ không đi vào chi tiết ở đây. Đây là cách tôi xử lý phản hồi truy vấn:
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;
}
Tôi chắc rằng nó không phải là cách thanh lịch nhất để làm điều này, nhưng tôi còn khá mới đối với PHP. Hy vọng nó giúp!