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: 2020-07-07

Numer tabeli: 130/A/NBP/2020


nazwa walutyprzelicznikkod walutykurs średni
bat (Tajlandia)1THB0,1272
dolar amerykański1USD3,9689
dolar australijski1AUD2,7488
dolar Hongkongu1HKD0,5121
dolar kanadyjski1CAD2,9221
dolar nowozelandzki1NZD2,5885
dolar singapurski1SGD2,8432
euro1EUR4,4710
forint (Węgry)100HUF1,2639
frank szwajcarski1CHF4,2027
funt szterling1GBP4,9496
hrywna (Ukraina)1UAH0,1475
jen (Japonia)100JPY3,6859
korona czeska1CZK0,1673
korona duńska1DKK0,5999
korona islandzka100ISK2,8478
korona norweska1NOK0,4193
korona szwedzka1SEK0,4265
kuna (Chorwacja)1HRK0,5923
lej rumuński1RON0,9240
lew (Bułgaria)1BGN2,2860
lira turecka1TRY0,5779
nowy izraelski szekel1ILS1,1454
peso chilijskie100CLP0,4965
peso filipińskie1PHP0,0801
peso meksykańskie1MXN0,1753
rand (Republika Południowej Afryki)1ZAR0,2316
real (Brazylia)1BRL0,7410
ringgit (Malezja)1MYR0,9279
rubel rosyjski1RUB0,0551
rupia indonezyjska10000IDR2,7486
rupia indyjska100INR5,2977
won południowokoreański100KRW0,3315
yuan renminbi (Chiny)1CNY0,5650
SDR (MFW)1XDR5,4919

Dział: