我有以下代码(如下)和使用的igoogle版本。
$url = 'http://www.google.com/ig/calculator?hl=en&q=' . $amount . $from_Currency . '=?' . $to_Currency;
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$rawdata = curl_exec($ch);
curl_close($ch);
$data = explode('"', $rawdata);
$data = explode(' ', $data[3]);
$var = $data[0];
但看了之后,他们使用了一个不同的url:
'http://www.google.com/finance/converter?hl=en&a=' . $amount . '&from=' . $from_Currency . '&to=USD';
但是简单地更改url并不会返回我习惯的所需结果。
现在我只能得到
http://www.w3.org/TR/html4/strict.dtd
那么有没有人在这个最新的货币转换器网址或有任何想法。或者用php替换
最佳答案
多亏了一些更深入的调查和重新整理发现了这篇文章。所以在某种程度上它是一个复制品。但问题是:
Need API for currency converting
我使用@hobailey answer进行临时修复,直到我可以将其更新到另一个版本或者google决定使用正确的api。
$amount = urlencode($amount);
$from_Currency = urlencode($from_Currency);
$to_Currency = urlencode($to_Currency);
$get = file_get_contents("https://www.google.com/finance/converter?a=$amount&from=$from_Currency&to=$to_Currency");
$get = explode("<span class=bld>",$get);
$get = explode("</span>",$get[1]);
$converted_amount = preg_replace("/[^0-9\.]/", null, $get[0]);