Курс валют, с ЦБР
Код скрипта:
<?php
// Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru sp;
$content = get_content();
// Разбираем содержимое, при помощи регулярных выражений
$pattern = "#<Valute ID="([^"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+& gt;[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^< ]+)#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()
{
// Формируем сегодняшнюю дату&nb sp;
$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;
} ?>
Код адаптированный под Джумлу:
<?php $zaeb = get_content(); echo $zaeb; function get_content() { // Формируем сегодняшнюю дату&nb sp; $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); /*текст уже заполнен*/ $pattern = "#<Valute ID="([^"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+& gt;[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^< ]+)#i"; preg_match_all($pattern, $text, $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]); } $dollar = (round($dollar,2)); $euro = (round($euro,2)); $retinf = ("$: $dollar <br>€: $euro"); return $retinf; } ?>