Как правильно анализировать валюту Yahoo http://finance.yahoo.com/connection/currency-converter-cache?date?

Как код, который я попытался и путем пробного удаления, чтобы получить контент JSON из возврата ниже
метод, который я использовал.

$date= YYYYMMDD;

//example '20140113'

$handle = fopen('http://finance.yahoo.com/connection/currency-converter-cache?date='.$date.'', 'r');

//sample code is http://finance.yahoo.com/connection/currency-converter-cache?date=20140208 paste the url in browser;

// use loop to get all until end of content

while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);

код возвращает заданный объем в формате Yahoo и JSON

поэтому удалите неизвестный формат, который

   "/**/YAHOO.Finance.CurrencyConverter.addConversionRates (" and ends with ");"

от

  $contents = str_replace('/**/YAHOO.Finance.CurrencyConverter.addConversionRates(','',$contents);
$contents = str_replace(');','',$contents);
$obj = json_decode($contents,true);


then loop the content by
foreach($obj['list']['resources'] as $key0 => $value0){

}

-1

Решение

Я предпочитаю использовать file_get_contents чтобы получить html а также preg_match_all очистить jsonт.е.

<?php
$json = file_get_contents("http://finance.yahoo.com/connection/currency-converter-cache?date=20140113");
preg_match_all('/\((.*)\);/si', $json, $json, PREG_PATTERN_ORDER);
$json =  $json[1][0];
$json = json_decode($json,true);

foreach ($json["list"]["resources"] as $resource){
echo $resource["resource"]["fields"]["date"];
echo $resource["resource"]["fields"]["price"];
echo $resource["resource"]["fields"]["symbol"];
echo $resource["resource"]["fields"]["price"];
}

НОТА:

Я проверил код, и он работает как задумано.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]