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-03-27

Numer tabeli: 061/A/NBP/2020


nazwa walutyprzelicznikkod walutykurs średni
bat (Tajlandia)1THB0,1261
dolar amerykański1USD4,1127
dolar australijski1AUD2,4934
dolar Hongkongu1HKD0,5307
dolar kanadyjski1CAD2,9182
dolar nowozelandzki1NZD2,4467
dolar singapurski1SGD2,8676
euro1EUR4,5246
forint (Węgry)100HUF1,2773
frank szwajcarski1CHF4,2675
funt szterling1GBP5,0218
hrywna (Ukraina)1UAH0,1465
jen (Japonia)100JPY3,7770
korona czeska1CZK0,1665
korona duńska1DKK0,6065
korona islandzka100ISK2,9381
korona norweska1NOK0,3908
korona szwedzka1SEK0,4118
kuna (Chorwacja)1HRK0,5941
lej rumuński1RON0,9358
lew (Bułgaria)1BGN2,3134
lira turecka1TRY0,6364
nowy izraelski szekel1ILS1,1454
peso chilijskie100CLP0,4970
peso filipińskie1PHP0,0806
peso meksykańskie1MXN0,1773
rand (Republika Południowej Afryki)1ZAR0,2344
real (Brazylia)1BRL0,8187
ringgit (Malezja)1MYR0,9495
rubel rosyjski1RUB0,0528
rupia indonezyjska10000IDR2,5481
rupia indyjska100INR5,4678
won południowokoreański100KRW0,3365
yuan renminbi (Chiny)1CNY0,5799
SDR (MFW)1XDR5,6075

Dział: