Pousuwałem wszystkie "or die();", by dać się wypowiedzieć nt. błędu php i wszystko działa...
<?php
// Początek pobierania linku do kursu walut w formacie XML...
$a = \"0\";
$connect = fopen(\"http://www.nbp.pl/kursy/kursya.html\", \"r\"); while (!feof ($connect)) { $a++;
$buffer = fgets($connect, 4096
); if($a==\"166\") {
$link = $buffer;
}
};
// Koniec pobierania linku do kursu walut w formacie XML
// Wycinanie linku
$link1 = strstr($link, 'xml'); $link2 = substr($link1, '0', '19'); $link = \"http://www.nbp.pl/kursy/\".$link2;
// Koniec. Link w zmiennej $link.
// Pobieranie arkusza XML
$a = \"0\";
$connect = fopen($link, \"r\"); while (!feof ($connect)) { $a++;
$buffer = fgets($connect, 4096
); if($a==\"4\") {
$datak = $buffer;
}
elseif($a==\"3\") {
$numerk = $buffer;
}
elseif($a==\"6\") {
$waluta1 = $buffer;
}
elseif($a==\"8\") {
$symbol1 = $buffer;
}
elseif($a==\"9\") {
$kurs1 = $buffer;
}
elseif($a==\"30\") {
$waluta2 = $buffer;
}
elseif($a==\"32\") {
$symbol2 = $buffer;
}
elseif($a==\"33\") {
$kurs2 = $buffer;
}
elseif($a==\"24\") {
$waluta3 = $buffer;
}
elseif($a==\"26\") {
$symbol3 = $buffer;
}
elseif($a==\"27\") {
$kurs3 = $buffer;
}
elseif($a==\"54\") {
$waluta4 = $buffer;
}
elseif($a==\"56\") {
$symbol4 = $buffer;
}
elseif($a==\"57\") {
$kurs4 = $buffer;
}
};
echo \"Średnie kursy walut nr \".$numerk.\" z dnia \".$datak.\" wg NBP (nazwa waluty, symbol, średni kurs): \".$waluta1.\" <b>(\".$symbol1.\")</b>: <b>\".$kurs1.\"</b>; \".$waluta2.\" <B>(\".$symbol2.\")</B>: <B>\".$kurs2.\"</B>; \".$waluta3.\" <B>(\".$symbol3.\")</B>: <B>\".$kurs3.\"</B>; \".$waluta4.\" <B>(\".$symbol4.\")</B>: <B>\".$kurs4.\"</B>.\"; ?>
Źródło wyniku wykonywania skryptu:
Cytat
¦rednie kursy walut nr <numer_tabeli>175/A/NBP/2004</numer_tabeli>
z dnia <data_publikacji>2004-09-07</data_publikacji>
wg NBP (nazwa waluty, symbol, ¶redni kurs): <nazwa_waluty>dolar amerykański</nazwa_waluty>
<b>( <kod_waluty>USD</kod_waluty>
)</b>: <b> <kurs_sredni>3,6187</kurs_sredni>
</b>; <nazwa_waluty>euro</nazwa_waluty>
<B>( <kod_waluty>EUR</kod_waluty>
)</B>: <B> <kurs_sredni>4,3790</kurs_sredni>
</B>; <nazwa_waluty>dolar kanadyjski</nazwa_waluty>
<B>( <kod_waluty>CAD</kod_waluty>
)</B>: <B> <kurs_sredni>2,7878</kurs_sredni>
</B>; <nazwa_waluty>funt szterling</nazwa_waluty>
<B>( <kod_waluty>GBP</kod_waluty>
)</B>: <B> <kurs_sredni>6,4497</kurs_sredni>
</B>.
co w przeglądarce daje:
Cytat
Średnie kursy walut nr 175/A/NBP/2004 z dnia 2004-09-07 wg NBP (nazwa waluty, symbol, średni kurs): dolar amerykański ( USD ): 3,6187 ; euro ( EUR ): 4,3790 ; dolar kanadyjski ( CAD ): 2,7878 ; funt szterling ( GBP ): 6,4497 .
UpDated:
Napisałem własnyskrypcik do tego... Użytkowanie jest IMHO łatwiejsze...
<pre>
<?php
$data = implode('', file(\"http://www.nbp.pl/kursy/kursya.html\")); eregi(\"<a href=\"xml/(.*).xml\">\", $data, $array); $data = implode('', file(\"http://www.nbp.pl/kursy/xml/\" . $array[1] . \".xml\"));
$replace = array(\" \" => '', \"rn\" => '', \"<pozycja>\" => '', \"<nazwa_waluty>\" => '$kurs[\"', \"</nazwa_waluty>\" => '\"] = array(', \"<przelicznik>\" => '\"', \"</przelicznik>\" => '\", ', \"<kod_waluty>\" => '\"', \"</kod_waluty>\" => '\", ', \"<kurs_sredni>\" => '\"', \"</kurs_sredni>\" => '\"', \"</pozycja>\" => \");n\", \"</tabela_kursow>\" => '', '<?xml version=\"1.0\" encoding=\"ISO-8859-2\"?><tabela_kursow typ=\"A\"><numer_tabeli>' => '$kurs[\"tabela\"] = \"', '</numer_tabeli>' => '\";' . \"n\", '<data_publikacji>' => '$kurs[\"data_publikacji\"] = \"', '</data_publikacji>' => '\";' . \"n\");
$data = str_replace(array_keys($replace), array_values($replace), $data);
eval($data);
print_r($kurs);
?>
</pre>
Wynik działania:
Kod
Array
(
[tabela] => 175/A/NBP/2004
[data_publikacji] => 2004-09-07
[dolar amerykański] => Array
(
[0] => 1
[1] => USD
[2] => 3,6187
)
[...część walut wyciąłem...]
[SDR (MFW)] => Array
(
[0] => 1
[1] =>
R
[2] => 5,2656
)
)