Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- ######--------------------------------------------(--------Валюты--------)----------------------------------------######
- //ЛИСТ ЗАПРАШИВАЕМОЙ ВАЛЮТЫ
- $list = array(10,11,16,28);
- /*
- [1] Австралийский доллар
- [2] Азербайджанский манат
- [3] 100 Армянских драмов
- [4] Белорусский рубль
- [5] Болгарский лев
- [6] Бразильский реал
- [7] 100 Венгерских форинтов
- [8] 1000 Вон Республики Корея
- [9] 10 Датских крон
- [10] Доллар США
- [11] Евро
- [12] 100 Индийских рупий
- [13] 100 Казахстанских тенге
- [14] Канадский доллар
- [15] 100 Киргизских сомов
- [16] 10 Китайских юаней
- [17] 10 Молдавских леев
- [18] Новый туркменский манат
- [19] 10 Норвежских крон
- [20] Польский злотый
- [21] Румынский лей
- [22] СДР (специальные права заимствования)
- [23] Сингапурский доллар
- [24] 10 Таджикских сомони
- [25] Турецкая лира
- [26] 1000 [3] => Узбекских сумов
- [27] 10 [3] => Украинских гривен
- [28] Фунт стерлингов Соединенного королевства
- [29] 10 Чешских крон
- [30] 10 Шведских крон
- [31] Швейцарский франк
- [32] 10 Южноафриканских рэндов
- [33] 100 Японских иен
- */
- ######--------------------------------------------(---------Даты---------)----------------------------------------######
- //Текущая дата
- $date = date('d.m.Y');
- //Вчерашний день
- $time = strtotime("-1 day");
- $y_date = date("d.m.Y", $time);
- ######--------------------------------------------(-----Текущий день-----)----------------------------------------######
- // URL страницы с курсами валют в зависимости от даты
- $url="http://www.cbr.ru/currency_base/D_print.aspx?date_req=$date";
- // Читаем содержимое HTML страницы
- $html = file_get_contents($url);
- // кодировка
- $charset = 'UTF-8';
- // на данном этапе, находим на в коде блок с классом header2, и все что до него удаляем, т.к. оно нам ненужно, там содержится ненужная нам информация
- $pos=mb_strpos($html,'<table class="CBRTBL">', 0, $charset); // позиция
- $html=mb_substr($html,$pos,mb_strlen($html, $charset), $charset); // обрезаем до указанной позиции, удаляя все лишнее
- $dom = new domDocument; // создаем объект дерева DOM
- $dom->loadHTML($html); // загружаем в него спарсенную страницу
- $dom->preserveWhiteSpace = false;
- $tables = $dom->getElementsByTagName('table'); // получаем из дерева DOM первую таблицу, ею является как раз таблица содержащая курсы валют
- $rows = $tables->item(0)->getElementsByTagName('tr'); // получаем из таблицы все строки
- $i=0;
- $curs = array(); // массив который будет хранить данные
- foreach ($rows as $row) // перебор полученных строк
- {
- if($i==0) {$i++; continue;} // первую строку пропускаем, т.к. она содержит заголовки столбцов а не данные
- $cols = $row->getElementsByTagName('td'); // разбираем все строки по столбцам
- // записываем в полученные данные в массив, для удобного представления и работы дальше
- $curs[$i][0]=$cols->item(0)->nodeValue; // Цифр. код
- $curs[$i][1]=$cols->item(1)->nodeValue; // Букв. код
- $curs[$i][2]=$cols->item(2)->nodeValue; // Единиц
- $curs[$i][3]=$cols->item(3)->nodeValue; // Валюта
- $curs[$i][4]=$cols->item(4)->nodeValue; // Курс
- $i++;
- }
- ######--------------------------------------------(--Вывод результатов--)----------------------------------------######
- //вывод всей валюты
- for($j = 1; $j < count($curs)+1; $j++){//1 и +1 потому что первая строка не имеет значений
- $today_amount = $curs[$j][2];//количество
- $today_name = $curs[$j][3];//название
- $today_value = $curs[$j][4];//значение
- $today = array($j => $today_amount." ".$today_name." - ".$today_value."<br>");//получил массив today с ключом
- if(in_array($j,$list)){ //если в массиве $list есть значение $j, то выводим $today с этим ключом
- echo $today[$j] ;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement