Загрузка курса валют с сайта ЦентроБанка

Источником информации об официальном курсе валюты служит сайт Центробанка Российской Федерации. Обратившись по адресу сайта Центробанка http://www.cbr.ru/currency_base/XML_daily.asp?date_req=$date, где $data дата в формате ДД/ММ/ГГГГ можно узнать курс валют установленных в запрошенный день. К примеру, узнать каков был курс валюты на 14 января 2005 года можно по адресу http://www.cbr.ru/currency_base/XML_daily.asp?date_req=14/01/2005. В результате будет открыта страница, содержащая таблицу с курсами валют, установленными в этот день. Остаётся только загрузить страницу и разобрать HTML-код при помощи регулярных выражений. Ниже представлен скрипт, загружающий курсы доллара и евро с сайта Центрабанка (http://www.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; 

  } 




Рекомендуем почитать

 

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка