Конвертирование курса валюты на 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, Architector
PHP, JavaScript, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

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