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: 2018-02-22

Numer tabeli: 038/A/NBP/2018


nazwa walutyprzelicznikkod walutykurs średni
bat (Tajlandia)1THB0,1078
dolar amerykański1USD3,4009
dolar australijski1AUD2,6596
dolar Hongkongu1HKD0,4347
dolar kanadyjski1CAD2,6811
dolar nowozelandzki1NZD2,4930
dolar singapurski1SGD2,5712
euro1EUR4,1811
forint (Węgry)100HUF1,3384
frank szwajcarski1CHF3,6252
funt szterling1GBP4,7233
hrywna (Ukraina)1UAH0,1255
jen (Japonia)100JPY3,1686
korona czeska1CZK0,1651
korona duńska1DKK0,5614
korona islandzka100ISK3,3746
korona norweska1NOK0,4309
korona szwedzka1SEK0,4185
kuna (Chorwacja)1HRK0,5615
lej rumuński1RON0,8981
lew (Bułgaria)1BGN2,1378
lira turecka1TRY0,8931
nowy izraelski szekel1ILS0,9720
peso chilijskie100CLP0,5712
peso filipińskie1PHP0,0653
peso meksykańskie1MXN0,1809
rand (Republika Południowej Afryki)1ZAR0,2907
real (Brazylia)1BRL1,0403
ringgit (Malezja)1MYR0,8682
rubel rosyjski1RUB0,0599
rupia indonezyjska10000IDR2,4856
rupia indyjska100INR5,2296
won południowokoreański100KRW0,3140
yuan renminbi (Chiny)1CNY0,5343
SDR (MFW)1XDR4,9233

Dział: