Kurs walut NBP - wersja XML (nowa)

Skrypt pobierania danych (kursy walut) ze strony NBP. Dane pobiera z pliku XML - nbp.pl


function nbp2()
{
   $subject = file_get_contents('http://nbp.pl/Kursy/KursyA.html');
   preg_match('/kursy\/xml\/(.*)\.xml\"/', $subject, $matches);
   $name = $matches[1];
   $file_name = "http://www.nbp.pl/kursy/xml/$name.xml";
   
   $content = file_get_contents($file_name);
   
   $xml = new SimpleXMLElement($content);
   
   $data_publikacji =  $xml->data_publikacji;
   $numer_tabeli =  $xml->numer_tabeli; 

 
   $r = "<h2>Data publikacji kursu: $data_publikacji</h2>";
   $r .= "<h2>Numer tabeli: $numer_tabeli</h2><br>";
   $r .= '<table style="border-spacing: 10px">';
   
   $r .= '<tr>';
   $r .= '<td>nazwa waluty</td>';
   $r .= '<td>przelicznik</td>';
   $r .= '<td>kod waluty</td>';
   $r .= '<td>kurs średni</td>';
   $r .= '</tr>';
   foreach ($xml->pozycja as $pos)
   {
      if($pos->kod_waluty == 'USD' || $pos->kod_waluty == 'EUR' || $pos->kod_waluty == 'CHF' || $pos->kod_waluty == 'GBP')
      {
         $strong_a = '<strong>';
         $strong_b = '</strong>';
      }
      else 
      {
         $strong_a = '';
         $strong_b = '';
      }
      $r .= '<tr>';
      $r .= '<td>' . $strong_a . $pos->nazwa_waluty . $strong_b . '</td>';
      $r .= '<td>' . $strong_a . $pos->przelicznik . $strong_b . '</td>';
      $r .= '<td>' . $strong_a . $pos->kod_waluty . $strong_b . '</td>';
      $r .= '<td>' . $strong_a . $pos->kurs_sredni . $strong_b . '</td>';
      $r .= '</tr>';
   }
   $r .= '</table>';
   
   return $r;
}


Wywołanie:
 
echo nbp2();

Wynik działania:

Data publikacji kursu: 2019-05-21

Numer tabeli: 097/A/NBP/2019


nazwa walutyprzelicznikkod walutykurs średni
bat (Tajlandia)1THB0,1210
dolar amerykański1USD3,8625
dolar australijski1AUD2,6548
dolar Hongkongu1HKD0,4921
dolar kanadyjski1CAD2,8764
dolar nowozelandzki1NZD2,5132
dolar singapurski1SGD2,8009
euro1EUR4,3055
forint (Węgry)100HUF1,3159
frank szwajcarski1CHF3,8235
funt szterling1GBP4,9038
hrywna (Ukraina)1UAH0,1480
jen (Japonia)100JPY3,5075
korona czeska1CZK0,1669
korona duńska1DKK0,5765
korona islandzka100ISK3,1245
korona norweska1NOK0,4395
korona szwedzka1SEK0,3992
kuna (Chorwacja)1HRK0,5797
lej rumuński1RON0,9039
lew (Bułgaria)1BGN2,2014
lira turecka1TRY0,6365
nowy izraelski szekel1ILS1,0743
peso chilijskie100CLP0,5548
peso filipińskie1PHP0,0735
peso meksykańskie1MXN0,2020
rand (Republika Południowej Afryki)1ZAR0,2672
real (Brazylia)1BRL0,9428
ringgit (Malezja)1MYR0,9227
rubel rosyjski1RUB0,0598
rupia indonezyjska10000IDR2,6675
rupia indyjska100INR5,5387
won południowokoreański100KRW0,3230
yuan renminbi (Chiny)1CNY0,5585
SDR (MFW)1XDR5,3136

Dział: