Информация об официальном курсе валюты берется с сайта Центробанка Российской Федерации.
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 |
Японских иен |