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-01-26

Numer tabeli: 016/A/NBP/2021


nazwa walutyprzelicznikkod walutykurs średni
bat (Tajlandia)1THB0,1251
dolar amerykański1USD3,7512
dolar australijski1AUD2,8866
dolar Hongkongu1HKD0,4839
dolar kanadyjski1CAD2,9425
dolar nowozelandzki1NZD2,7002
dolar singapurski1SGD2,8254
euro1EUR4,5497
forint (Węgry)100HUF1,2700
frank szwajcarski1CHF4,2183
funt szterling1GBP5,1235
hrywna (Ukraina)1UAH0,1332
jen (Japonia)100JPY3,6139
korona czeska1CZK0,1741
korona duńska1DKK0,6115
korona islandzka100ISK2,8979
korona norweska1NOK0,4381
korona szwedzka1SEK0,4513
kuna (Chorwacja)1HRK0,6014
lej rumuński1RON0,9332
lew (Bułgaria)1BGN2,3262
lira turecka1TRY0,5076
nowy izraelski szekel1ILS1,1469
peso chilijskie100CLP0,5118
peso filipińskie1PHP0,0780
peso meksykańskie1MXN0,1861
rand (Republika Południowej Afryki)1ZAR0,2454
real (Brazylia)1BRL0,6862
ringgit (Malezja)1MYR0,9266
rubel rosyjski1RUB0,0497
rupia indonezyjska10000IDR2,6671
rupia indyjska100INR5,1368
won południowokoreański100KRW0,3393
yuan renminbi (Chiny)1CNY0,5797
SDR (MFW)1XDR5,3979

Dział: