Текст сохранён при переносе с Joomla. Технические рекомендации и внешние ссылки могли устареть — проверяй их перед применением.
Информация об официальном курсе валюты берется с сайта Центробанка Российской Федерации.
http://www.cbr.ru/currency_base/XML_daily.asp?date_req=$date
, где $data дата в формате ДД/ММ/ГГГГ можно узнать курс валют установленных в запрошенный день. Например, узнать каков был курс валюты на 20 января 2013 года можно по адресу
http://www.cbr.ru/currency_base/XML_daily.asp?date_req=20/01/2013
И будет открыта страница, содержащая таблицу с курсами валют, установленными в этот день.
Далее написан скрипт, загружающий курсы доллара и евро с сайта Центрабанка
http://cbr.ru
<?php
// Берем текущие курсы валют в rss-формате с сайта www.cbr.ru
$content = get_content();
// Разбираем содержимое, при помощи регулярных выражений
$pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
$dollar = "";
$euro = "";
foreach($out as $cur)
{
if($cur[2] == 840) $dollar = str_replace(",",".",$cur[4]);
if($cur[2] == 978) $euro = str_replace(",",".",$cur[4]);
}
echo "Доллар - ".$dollar."<br>";
echo "Евро - ".$euro."<br>";
function get_content()
{
// Формируем сегодняшнюю дату
$date = date("d/m/Y");
// Формируем ссылку
$link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date";
// Загружаем HTML-страницу
$fd = fopen($link, "r");
$text="";
if (!$fd) echo "Запрашиваемая страница не найдена";
else
{
// Чтение содержимого файла в переменную $text
while (!feof ($fd)) $text .= fgets($fd, 4096);
}
// Закрыть открытый файловый дескриптор
fclose ($fd);
return $text;
}
?>
Коды валют и их расшифровка
|
036 |
AUD |
1 |
Австралийский доллар |
|
944 |
AZN |
1 |
Азербайджанский манат |
|
051 |
AMD |
1000 |
Армянских драмов |
|
974 |
BYR |
10000 |
Белорусских рублей |
|
975 |
BGN |
1 |
Болгарский лев |
|
986 |
BRL |
1 |
Бразильский реал |
|
348 |
HUF |
100 |
Венгерских форинтов |
|
410 |
KRW |
1000 |
Вон Республики Корея |
|
208 |
DKK |
10 |
Датских крон |
|
840 |
USD |
1 |
Доллар США |
|
978 |
EUR |
1 |
Евро |
|
356 |
INR |
100 |
Индийских рупий |
|
398 |
KZT |
100 |
Казахских тенге |
|
124 |
CAD |
1 |
Канадский доллар |
|
417 |
KGS |
100 |
Киргизских сомов |
|
156 |
CNY |
10 |
Китайских юаней |
|
440 |
LTL |
1 |
Литовский лит |
|
498 |
MDL |
10 |
Молдавских леев |
|
946 |
RON |
1 |
Новый румынский лей |
|
934 |
TMT |
1 |
Новый туркменский манат |
|
578 |
NOK |
10 |
Норвежских крон |
|
985 |
PLN |
1 |
Польский злотый |
|
960 |
XDR |
1 |
СДР (специальные права заимствования) |
|
702 |
SGD |
1 |
Сингапурский доллар |
|
972 |
TJS |
10 |
Таджикских сомони |
|
949 |
TRY |
1 |
Турецкая лира |
|
860 |
UZS |
1000 |
Узбекских сумов |
|
980 |
UAH |
10 |
Украинских гривен |
|
826 |
GBP |
1 |
Фунт стерлингов Соединенного королевства |
|
203 |
CZK |
10 |
Чешских крон |
|
752 |
SEK |
10 |
Шведских крон |
|
756 |
CHF |
1 |
Швейцарский франк |
|
710 |
ZAR |
10 |
Южноафриканских рэндов |
|
392 |
JPY |
100 |
Японских иен |