Php Google Finance Convertor返回未定义的偏移量1

Php Google Finance Convertor返回未定义的偏移量1,php,html,google-finance,google-finance-api,Php,Html,Google Finance,Google Finance Api,我正试图在我的项目中实现这个谷歌金融转换器。我实施了它,它当时运行良好。但是今天,当我重新检查我的应用程序以确保所有东西都正常工作时,我发现Google Finance Convertor API不工作,并且返回了一个错误 PHP代码 /*********** Google Finance API ************/ $from_Currency = "USD"; $to_Currency = "INR"; $encode_amount = $amount; $get =

我正试图在我的项目中实现这个谷歌金融转换器。我实施了它,它当时运行良好。但是今天,当我重新检查我的应用程序以确保所有东西都正常工作时,我发现Google Finance Convertor API不工作,并且返回了一个错误

PHP代码

/*********** Google Finance API ************/
  $from_Currency = "USD";
  $to_Currency = "INR";
  $encode_amount = $amount;
  $get = file_get_contents("http://finance.google.com/finance/converter?a=$encode_amount&from=$from_Currency&to=$to_Currency");
  $get = explode("<span class=bld>",$get);
  $get = explode("</span>",$get[1]);
  $converted_currency = preg_replace("/[^0-9\.]/", null, $get[0]);
  /*********** End Google Finance API ************/
在我的代码中,这一行表示第31行
$get=explode(“,$get[1])


请帮助。

这是因为google已经停止提供finance api,甚至finance.google.com会将我们带到google finance选项卡

我也使用了这个google api。感谢duckduckgo(他们有一个货币转换器)找到了xe.com网站。正如古普里特·辛格所建议的那样

这是我修改过的版本。显然这是课堂的一部分

private static function convertCurrency($amount, $from, $to) {
    $url  = "https://www.xe.com/currencyconverter/convert/?Amount={$amount}&From={$from}&To={$to}";
    $data = @file_get_contents($url);
    if ( ! $data)
    {
        return null;
    }
    preg_match_all("/<span class='uccResultAmount'>([0-9.]*)<\/span>/", $data, $converted);
    try
    {
        $final = $converted[1][0];
    } catch (\Exception $e)
    {
        return null;
    }

    return round($final, 2);
}
私有静态函数convertCurrency($amount,$from,$to){
$url=”https://www.xe.com/currencyconverter/convert/?Amount={$amount}&From={$From}&To={$To}”;
$data=@file\u get\u contents($url);
如果(!$data)
{
返回null;
}
preg_match_all(“/([0-9.]*)/”,$data,$converted);
尝试
{
$final=$converted[1][0];
}捕获(\异常$e)
{
返回null;
}
第二轮(决赛,2美元);
}

让我们希望这能持续一段时间。其他(免费)解决方案必须以美元兑换有限的货币。如果你需要欧元兑换菲律宾比索怎么办

你能添加一些URL或链接来证明你的答案吗?是的,你可以自己尝试链接哪个链接?你能补充你的答案吗?当然,先生,请检查它的显示302作为状态代码是否有任何替代方案?这是一个laravel项目的一部分。选择你的需要,它应该会起作用。
private static function convertCurrency($amount, $from, $to) {
    $url  = "https://www.xe.com/currencyconverter/convert/?Amount={$amount}&From={$from}&To={$to}";
    $data = @file_get_contents($url);
    if ( ! $data)
    {
        return null;
    }
    preg_match_all("/<span class='uccResultAmount'>([0-9.]*)<\/span>/", $data, $converted);
    try
    {
        $final = $converted[1][0];
    } catch (\Exception $e)
    {
        return null;
    }

    return round($final, 2);
}