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: 2021-10-27

Numer tabeli: 209/A/NBP/2021


nazwa walutyprzelicznikkod walutykurs średni
bat (Tajlandia)1THB0,1195
dolar amerykański1USD3,9815
dolar australijski1AUD2,9825
dolar Hongkongu1HKD0,5119
dolar kanadyjski1CAD3,2060
dolar nowozelandzki1NZD2,8403
dolar singapurski1SGD2,9502
euro1EUR4,6165
forint (Węgry)100HUF1,2636
frank szwajcarski1CHF4,3362
funt szterling1GBP5,4640
hrywna (Ukraina)1UAH0,1510
jen (Japonia)100JPY3,5019
korona czeska1CZK0,1796
korona duńska1DKK0,6205
korona islandzka100ISK3,0777
korona norweska1NOK0,4736
korona szwedzka1SEK0,4619
kuna (Chorwacja)1HRK0,6144
lej rumuński1RON0,9329
lew (Bułgaria)1BGN2,3604
lira turecka1TRY0,4191
nowy izraelski szekel1ILS1,2472
peso chilijskie100CLP0,4951
peso filipińskie1PHP0,0784
peso meksykańskie1MXN0,1970
rand (Republika Południowej Afryki)1ZAR0,2656
real (Brazylia)1BRL0,7152
ringgit (Malezja)1MYR0,9587
rubel rosyjski1RUB0,0568
rupia indonezyjska10000IDR2,8093
rupia indyjska100INR5,3036
won południowokoreański100KRW0,3394
yuan renminbi (Chiny)1CNY0,6227
SDR (MFW)1XDR5,6218

Dział: