maxidebox@list.ru | +7 (929) 701 21 71
Загрузка курса валют с сайта ЦентроБанка

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

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

Голосов: 269 | Просмотров: 789