×
HeadHunter and Superjob rezume updater on Ruby on Rails (21 авг 2017)

Практикуемся в написании кода под rails.

Вопрос Нужен модуль Joomla 'курс валют по ЦБ'

  • Прохожий
  • Прохожий аватар Автор темы
  • Не в сети
  • Expert Boarder
  • Expert Boarder
  • Да, это я...
Больше
3 года 6 мес. назад #1 от Прохожий
Прохожий создал эту тему: Нужен модуль Joomla 'курс валют по ЦБ'
Привет всем! Очень нужен модуль joomla, выводящий курсы ЦБ евро и доллара на текущую дату. Обновив джумлу - ломанулся качать расширение по старым ссылкам, и с удивлением убедился, что только под Joomla 2.5 такие, а под тройку ничего подходящего уже вроде как и нету. Кто-нибудь подскажет может? :sick:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 6 мес. назад - 3 года 6 мес. назад #2 от serge
serge ответил в теме Нужен модуль Joomla 'курс валют по ЦБ'

Прохожий пишет: нужен модуль joomla, выводящий курсы ЦБ евро и доллара на текущую дату...


в чем проблема? выведи вот так, евро и доллар, либо любую другую валюту:

<?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; 
  } 
?>

А я смогу! - А поглядим! - А я упрямый!
Последнее редактирование: 3 года 6 мес. назад от serge.
Спасибо сказали: Прохожий

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Прохожий
  • Прохожий аватар Автор темы
  • Не в сети
  • Expert Boarder
  • Expert Boarder
  • Да, это я...
Больше
3 года 6 мес. назад #3 от Прохожий
Прохожий ответил в теме Нужен модуль Joomla 'курс валют по ЦБ'
Это што такое? мне нужен именно модуль... по ряду причин.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 9 мес. назад - 2 года 9 мес. назад #4 от evgenij
evgenij ответил в теме Нужен модуль Joomla 'курс валют по ЦБ'

serge пишет:

Прохожий пишет: нужен модуль joomla, выводящий курсы ЦБ евро и доллара на текущую дату...


в чем проблема? выведи вот так, евро и доллар, либо любую другую валюту:


Так неудобно. Предлагаю парочку вариантов на выбор, простой и очень простой:


первый, очень простой

<?
$date = date("d/m/Y");

//Код валюты на сайте Центробанка
$d = 'R01235';
$e = 'R01239';

//Парсим страницу с курсами валют в переменную
$file = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$date);

//Разбираем страницу с помощью регулярок:
preg_match("/\<Valute ID=\"".$d."\".*?\>(.*?)\<\/Valute\>/is", $file, $m);
preg_match("/<Value>(.*?)<\/Value>/is", $m[1], $r);
preg_match("/\<Valute ID=\"".$e."\".*?\>(.*?)\<\/Valute\>/is", $file, $eu);
preg_match("/<Value>(.*?)<\/Value>/is", $eu[1], $eur);

//Запятую, отделяющую дробную часть, заменим на точку, и у нас в переменной $dollar благополучно находится курс доллара.
$dollar = str_replace(",", ".", $r[1]);
$euro = str_replace(",", ".", $eur[1]);

echo '$ '. $dollar . '<br>';
echo '€ '. $euro;
?>


и второй, вообще наипростейший

<?
$file = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".date("d/m/Y"));

$valutes = array();

foreach ($file AS $el){
    $valutes[strval($el->CharCode)] = strval($el->Value);
}

//print_r($valutes); //все валюты ЦБ, из них выбираем любые, например евро и доллар. Ну и дату заодно выведем:

$date = date("d.m.Y");
echo $date. '<br>';
echo 'EUR '. $valutes["EUR"]. '<br>';
echo 'USD '. $valutes["USD"];
?>

Дождались! Fedora 26.
Последнее редактирование: 2 года 9 мес. назад от evgenij.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 8 мес. назад #5 от Aleksej
Aleksej ответил в теме Нужен модуль Joomla 'курс валют по ЦБ'
Попробуйте этот скрипт , может, понравится. :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.