Вы здесь

Функция получения курсов валют на PHP

Если у Вас стоит задача перевести сумму товара из какой-либо валюты в рубли с учетом реального курса ЦБ РФ на конкретную дату, то можете воспользоваться следующей функцией:
  1. function getExRates(&$val, $date = null) {
  2. if ($date == null)
  3. $date = date("d/m/Y");
  4. $link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date";
  5. // Загружаем HTML-страницу
  6. $content = file_get_contents($link);
  7.  
  8. // Разбираем содержимое, при помощи регулярных выражений
  9. $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
  10. preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
  11. $val['dollar'] = "";
  12. $val['euro'] = "";
  13. foreach($out as $cur) {
  14. if($cur[2] == 840)
  15. $val['dollar'] = doubleVal(str_replace(",",".",$cur[4]));
  16. if($cur[2] == 978)
  17. $val['euro'] = doubleVal(str_replace(",",".",$cur[4]));
  18. }
  19. }
Данная функция возвращает в переменную $val массив с инфомрацией по доллару и евро. При желании, можно добавить другие валюты, ID которых можно посмотреть, открыв страницу http://www.cbr.ru/scripts/XML_daily.asp