Конвертирование курса валюты на PHP + google

Author Автор: Роман Чернышов    Опубликовано: 6 октября 2012

Конвертирование курса валюты из одной денежной единицы в другую, весьма не сложная задача для любого программиста, даже самого молодого. Достаточно знаний математики начальных классов, и вот скрипт конвертирования готов. Примеров реализации множество, как и способов, алгоритмов работы таких скриптов. Как правило задача сводится к получению списка курсов валют, обработка и хранение их в БД, а при необходимости высчитывание отношения одной валюты к другой. Но данный, распространенный, подход имеет ряд недостатков — он не так универсален, данные устаревают, их приходится заново парсить и сохранять в БД, зачастую не удается получить значение курсов всех валют и т.д.

В виду чего, неплохим решением будет воспользоваться сторонним сервисом или API предоставляемым каким либо сайтом. Мы же прибегнем к методу использования поисковика гугл, для конвертирования денежных единиц из одной валюты в другую.

Для этого потребуется всего лишь навсего отправить в гугл запрос, вида:
http://www.google.com/search?&q=SUMM+FROM+n+TO;

Из данной ссылки понятно, что SUMM это денежная сумма, FROM это обозначение валюты из которой будем конвертировать, а TO это значение валюты в которую будем конвертировать.

Далее представляю PHP скрипт, который будет производить все действия в автоматическом режиме и вовращать нам новое значение валюты. все что от нас требуется это передать в метот три данных значения SUMM, FROM, TO.

class currencyCoverter
{
    public $fromCurr = 'USD';
    public $toCurr = 'INR';
    function __construct($amount, $from, $to)
    {
        if(intval($amount) > 0){
            $this->amount = intval($amount);
        }
        if(trim($to) != ''){
            $this->toCurr = $to;
        }
        if(trim($from) != ''){
            $this->fromCurr = $from;
        }
    }
    function getUpadte()
    {
        $returnHtml = array();
        $page = 'http://www.google.com/search?&q='.$this->amount.'+' . $this->fromCurr . '+in+' . $this->toCurr;
        $returnRawHtml = file_get_contents( $page );    
        preg_match_all('/<h2 class=r(.*)\<\/h2\>/Uis',$returnRawHtml,$returnHtml,PREG_PATTERN_ORDER);
        if (isset($returnHtml[0][0])) 
        {
          $gRate = strip_tags($returnHtml[0][0]);
          return $gRate;
        }
        else {
            return false;
        }
 
    }
} 
      $amount =  100;
      $ToCurrency = 'USD';
      $FromCurrency = 'RUR';
      $converter = new currencyCoverter($amount, $FromCurrency, $ToCurrency); // get result
      echo $converter->getUpadte(); // выводим полученное значение

Недостатки данного скрипта:
— зависимость от стороннего ресурса, в частности google.com. Но этот недостаток очень условный, ведь если упадет гугл, то наверняка упадет весь интернет)

Преимущества данного скрипта:
— Всегда актуальные и свежие данные
— Множество вариаций конвертирование значение курсов, практически по всем денежным единицам мира
— Простота в установке и использовании

Конвертирование курса валюты незаменимая функция для финансового портала, так что скрипт пригодится многим.

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка