Курсы доллара и евро с сайта Центробанка на PHP

stack-of-money-coin-with-trading-graph-7

17 сентября 2019 PHP

Для этого нужно воспользоваться ссылкой по адресу сайта Центробанка http://www.cbr.ru/currency_base/XML_daily.asp?date_req=$date, где $data дата в формате ДД/ММ/ГГГГ. Таким образом можно узнать курс валют установленных в запрошенный день.

Если например узнать каков был курс валюты на 18 января 2019 года то можно сгенерировать вот такую ссылку http://www.cbr.ru/currency_base/XML_daily.asp?date_req=18/01/2019. В результате этого будет открыта страница, которая содержит таблицу с курсами валют, установленными на данный день. Далее необходимо загрузить страницу и разобрать XML-код при помощи регулярных выражений. Ниже представлен код скрипта, загружающий курсы доллара и евро с сайта Центробанка (http://www.cbr.ru)

// Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru
  $content = get_content();
  // Разбираем содержимое, при помощи регулярных выражений
  $pattern = "#]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#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."
"; echo "Евро - ".$euro."
"; 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; }

Читайте также: