Приветствую, уважаемые!
Регулярно пробегают вопросы, как на PHP получить курсы валют от Центробанка. Ниже — решение. При доработке напильником легко прикрутить сохранение данных в базу.
Вот, собственно:
<?php
$cont = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp");
$pattern = "/<CharCode>(.*?)<\/CharCode>\s*<Nominal>(.*)<\/Nominal>\s*<Name>(.*)<\/Name>\s*<Value>(.*)<\/Value>/im";
$cnt = preg_match_all($pattern,$cont,$matches);
if($cnt != FALSE)
{
$count_currencies = count($matches[1]);
for($i=0;$i<$count_currencies;$i++)
{
$curr_abbr = $matches[1][$i];
$curr_nominal = $matches[2][$i];
$curr_name = $matches[3][$i];
$curr_value = $matches[4][$i];
echo "$curr_abbr - $curr_nominal - $curr_name - $curr_value <br>";
} // for
} // if($cnt != FALSE)
?>
Надеюсь, пригодится.
<< Вечная любовь длится в среднем 3 месяца. >>
А почему не так?
$xml = simplexml_load_file("curs.xml");
foreach ($xml->Valute as $valute)
{
$curr_name = mb_convert_encoding($valute->Name, "Windows-1251", "UTF-8");
echo $valute->CharCode." - ".$valute->Nominal." - $curr_name - ".$valute->Value." <br>";
}
Здравствуйте, Аноним, Вы писали:
А>А почему не так?
А>А>$xml = simplexml_load_file("curs.xml");
А>
Хотя бы потому, что PHP5 стоит не на всех хостингах