Я написал следующий фрагмент php, чтобы получить курс конвертации валюты из Yahoo Finance.
Я использую curl для получения данных.
Предположим, я хочу пересчитать доллары США (USD) в Индийскую национальную рупию (INR), тогда URL будет http://in.finance.yahoo.com/currency/convert?amt=1&from=USD&to=INR&submit=, а значение индийской рупии будет равно 45,225.
Однако, если я запускаю свой код, значение, которое я получаю, составляет 452,25. Почему это несоответствие?
<?php
$amount = $_GET['amount'];
$from = $_GET['from'];
$to = $_GET['to'];
$url = "http://in.finance.yahoo.com/currency/convert?amt=".$amount."&from=".$from."&to=".$to;
$handle = curl_init($url);
curl_setopt ($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
if(preg_match_all('/<td class="yfnc_tabledata1"><b>(?:[1-9]\d+|\d)(?:\.\d\d)?/',$data,$matches))
{
print_r($matches[0][1]);
}
else
{
echo "Not found !";
}
curl_close($handle);
?>
Что-то не так с моим регулярным выражением?