Парсер текущих курсов валют национального банка Грузии

Парсер на PHP текущих курсов валют национального банка Грузии. Забирает и парсит вроде бы RSS-файл, но его содержимое в поисках курсов валют приходится парсить, как обычную таблицу в HTML. Курсы валют устанавливаются ежедневно. Форматы отдаваемых данных и дополнительные функции найдете здесь http://shaman.asiadata.ru/script/currency

function currency_nbg_get_rates() {
   $url = 'http://www.nbg.ge/rss.php';
   $result = array();
   if (($datafetch = currency_http_request($url)) && ($html = $datafetch->data)) {
     $tables = preg_split('/<table[^>]*>/i', $html);
     $table = isSet ($tables[1]) ? $tables[1] : "";
     $trs = preg_split('/<tr[^>]*>/i', $table);
     $lines = array();
     foreach($trs as $i=>$l) {
       $l = preg_replace('/<\/tr>.*/', '', $l);
       $c = preg_split('/<td[^>]*>/i', $l);
       $lines[] = currency_clear_array($c);
     }
     $dtable = isSet ($tables[0]) ? $tables[0] : "";
     $date = preg_match('/<title>Currency Rates ([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])<\/title>/i', $dtable, $regs) ? $regs[1] . $regs[2] . $regs[3] : date('Ymd');
     foreach ($lines as $line) {
       if ($line[0] && $line[1] && $line[2]) {
         $result[] = curency_prepare_rate(array(
           'country' => 'GE',
           'bank' => 'NBG',
           'fromvalue' => (int) $line[1],
           'fromcurrency' => $line[0],
           'tovalue' => (double) (0.0 + $line[2]),
           'tocurrency' => 'GEL',
           'date' => $date,
         ));
       }
     }
   }
   return $result;
}

Сайт национального банка Грузии: www.nbg.ge
То ли веб-страница, то ли XML с ежедневными курсами валют: http://www.nbg.ge/rss.php
Количество отдаваемых курсов валют:
октябрь 2011 года – 43
июль 2012 года – 45
сегодня – http://currency.servisator.ru/ru/rate/Georgia