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-04-12

Numer tabeli: 069/A/NBP/2021


nazwa walutyprzelicznikkod walutykurs średni
bat (Tajlandia)1THB0,1212
dolar amerykański1USD3,8144
dolar australijski1AUD2,9053
dolar Hongkongu1HKD0,4904
dolar kanadyjski1CAD3,0371
dolar nowozelandzki1NZD2,6820
dolar singapurski1SGD2,8431
euro1EUR4,5330
forint (Węgry)100HUF1,2692
frank szwajcarski1CHF4,1222
funt szterling1GBP5,2411
hrywna (Ukraina)1UAH0,1364
jen (Japonia)100JPY3,4846
korona czeska1CZK0,1739
korona duńska1DKK0,6095
korona islandzka100ISK2,9881
korona norweska1NOK0,4481
korona szwedzka1SEK0,4451
kuna (Chorwacja)1HRK0,5990
lej rumuński1RON0,9211
lew (Bułgaria)1BGN2,3177
lira turecka1TRY0,4653
nowy izraelski szekel1ILS1,1576
peso chilijskie100CLP0,5368
peso filipińskie1PHP0,0785
peso meksykańskie1MXN0,1891
rand (Republika Południowej Afryki)1ZAR0,2605
real (Brazylia)1BRL0,6712
ringgit (Malezja)1MYR0,9227
rubel rosyjski1RUB0,0493
rupia indonezyjska10000IDR2,6135
rupia indyjska100INR5,0881
won południowokoreański100KRW0,3391
yuan renminbi (Chiny)1CNY0,5822
SDR (MFW)1XDR5,4277

Dział: