Информеры — автоматически изменяющиеся тестовые и графические элементы, размещенные на веб-сервере РБК и доступные для всех пользователей Интернета.
На этих элементах размещается информация о наиболее популярных финансовых индикаторах (курс доллара ЦБ РФ, СЭЛТ).
Наиболее популярным из информеров РБК является HTML-информер с использованием javascript.
В его состав входят:
- СПБВБ: валюты (СЭЛТ)
- Рынок наличной валюты
- Российские фондовые индексы
- Котировки акций. По данным РТС- МФБ
- Котировки FOREX
- Котировки фьючерсов
- Мировые фондовые индексы
- Погода в городах России и СНГ
- Курсы ЦБ РФ
- Курсы ЦБ РФ по драгоценным металлам
Для сборки информера, перейдите на сайт informer.ru и выберите нужные вам позиции для отображения.
Затем в head
разделе вашей веб-страницы подключите javascript-файл
<head> <script src="http://www.rbc.ru/tables99/indices.js"></script> </head>
А в том месте, где бы вы хотели видеть информер, вызовите функцию печатающую HTML-код
<body> <script> print_ind('_RTS_INDEX_-_RBCCI_-_USD_CB_-_GBP_CB_-_EUR_CB_-_CHF_CB_'); </script> </body>
Наслаждаемся результатом. Но, если ваш сайт в кодировке UTF-8, автоматически возникает проблема с кодировками, так как информер отдается сервером RBC в кодовой таблице windows-1251. Для решения этой проблемы есть 2 варианта.
1. Использование атрибута charset
тега script
<head> <script src="http://www.rbc.ru/tables99/indices.js" charset="windows-1251"></script> </head> <body> <script charset="windows-1251"> print_ind('_RTS_INDEX_-_RBCCI_-_USD_CB_-_GBP_CB_-_EUR_CB_-_CHF_CB_'); </script> </body>
2. Отдавать javascript-файл РБК через наш РНР-скрипт
<head> <script src="http://наш_домен/js/rbc_indices.php" charset="UTF-8"></script> </head> <body> <script charset="UTF-8"> print_ind('_RTS_INDEX_-_RBCCI_-_USD_CB_-_GBP_CB_-_EUR_CB_-_CHF_CB_'); </script> </body>
В файле rbc_indices.php
пишем примерно следующее:
header('Content-type: application/javascript; charset=UTF-8'); $url = 'http://www.rbc.ru/tables99/indices.js'; $content = file_get_contents($url); $content = iconv('windows-1251', 'utf-8', $content); die($content);
Данные методы можно применять не только для сервера РБК, а практически в любых ситуациях, когда кодировка сайта отличается от кодировки скрипта.
Источник: https://www.kobzarev.com/programming/rbc-informer-in-the-utf-8/