Кстати, хороший пример использования SimpleXML, хватит уже изобретать всякие xml2array - всё придумано до нас!
<?php /** * @descr Helper for getting currency values from cbr.ru * @param (string) $code Code of currency you need * @param (string) [$date] Date of day you need (format: "d/m/Y") * @param (string) [$template] Template for html-making where ?c will be currency charcode, ?n will be nominal and ?v will be currency value in rubbles **/ function getCbrCurrency( $code, $date = '', $template = '' ) { $date = $date ? $date : date( "d/m/Y" ); if ( strlen( $GLOBALS['___XML'][$date] ) > 50 || $GLOBALS['___XML'][$date] = file_get_contents( "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date" ) ) { $xml = simplexml_load_string( $GLOBALS['___XML'][$date] ); foreach ( $xml->Valute as $o ) { if ( $o->CharCode == $code ) { return array( 'CharCode' => (string)$o->CharCode[0], 'Nominal' => (string)$o->Nominal[0], 'Value' => (string)$o->Value[0], 'html' => $template ? str_replace( array( '?c', '?n', '?v' ), array( (string)$o->CharCode[0], (string)$o->Nominal[0], (string)$o->Value[0] ), $template ) : '', ); } } } return false; } print_r( getCbrCurrency ( 'USD', '', '<span>?c:</span> ?v р.' ) );
Комментариев нет:
Отправить комментарий