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-09-25

Numer tabeli: 188/A/NBP/2020


nazwa walutyprzelicznikkod walutykurs średni
bat (Tajlandia)1THB0,1237
dolar amerykański1USD3,9016
dolar australijski1AUD2,7585
dolar Hongkongu1HKD0,5034
dolar kanadyjski1CAD2,9213
dolar nowozelandzki1NZD2,5649
dolar singapurski1SGD2,8383
euro1EUR4,5477
forint (Węgry)100HUF1,2545
frank szwajcarski1CHF4,2095
funt szterling1GBP4,9802
hrywna (Ukraina)1UAH0,1380
jen (Japonia)100JPY3,7003
korona czeska1CZK0,1681
korona duńska1DKK0,6108
korona islandzka100ISK2,8107
korona norweska1NOK0,4090
korona szwedzka1SEK0,4282
kuna (Chorwacja)1HRK0,6023
lej rumuński1RON0,9319
lew (Bułgaria)1BGN2,3252
lira turecka1TRY0,5154
nowy izraelski szekel1ILS1,1216
peso chilijskie100CLP0,4981
peso filipińskie1PHP0,0805
peso meksykańskie1MXN0,1765
rand (Republika Południowej Afryki)1ZAR0,2316
real (Brazylia)1BRL0,7081
ringgit (Malezja)1MYR0,9363
rubel rosyjski1RUB0,0507
rupia indonezyjska10000IDR2,6238
rupia indyjska100INR5,3025
won południowokoreański100KRW0,3328
yuan renminbi (Chiny)1CNY0,5722
SDR (MFW)1XDR5,4835

Dział: