Промяна в сайта на БНБ

zz55

Registered
Здравейте,

има промяна в сайта на БНБ и кодът за валутата, който ползвах преди, вече не работи. Дали някой би се наел да го промени, за да сработи с новия сайт на националната банка.

Ето стария код, който съм взел преди време от форума:

Код:
<?php 
$html_in_site = file_get_contents('http://www.bnb.bg/bnb/rates.nsf/vwebratesbymonthbg/$first'); 
$string = preg_replace('/<tr><td>/', "\n", strip_tags($html_in_site, '<tr>,<td>')); 
$string = preg_replace('/<\/td><td>|<\/td><td align=right>|<\/td>/', "\t", $string); 
//Да извлечем актуалната дата на публикуване на курсовете 
preg_match('/(\d\d)\/(\d\d)\/(\d\d\d\d)/', $html_in_site, $v); 
$data = $v[1].".".$v[2].".".$v[3]; 
echo "Валутни курсове на БНБ за дата: <b>$data</b>"; 
echo '<table><tr><td>Валути</td><td>Код</td><td>За единици<br>валута</td><td>Лева (BGN)</td></tr>' . "\n"; 

$lines = preg_split("/\n/", $string); 
foreach ($lines as $line){ 
if (!preg_match('/^ |<|^$|^a\{|^\*|^Източник|^Позовава/', $line)){ 
if (preg_match('/^Авст|^Кана|^Швей|^Брит|^Рус|^Щат|^Япон/', $line)){ 
//echo $line . "\n"; 
$expl = preg_split("/\t/", $line); 
echo '<tr><td>' . $expl[0] . '</td><td>' . $expl[1] . '</td><td>' . $expl[2] . '</td><td>' . $expl[3] . '</td></tr>' . "\n"; 

}}} 
echo "</table>\n"; 
?>

Новият адрес с котировките е:
http://bnb.bg/Statistics/StExternalSector/StExchangeRates/StERForeignCurrencies/index.htm
 
<?php
$html_in_site = file_get_contents('http://bnb.bg/Statistics/StExternalSector/StExchangeRates/StERForeignCurrencies/index.htm');
$string = preg_replace('/<tr><td>/', "\n", strip_tags($html_in_site, '<tr>,<td>'));
$string = preg_replace('/<\/td><td>|<\/td><td align=right>|<\/td>/', "\t", $string);
//Да извлечем актуалната дата на публикуване на курсовете
preg_match('/(\d\d)\/(\d\d)\/(\d\d\d\d)/', $html_in_site, $v);
$data = $v[1].".".$v[2].".".$v[3];
echo "Валутни курсове на БНБ за дата: <b>$data</b>";
echo '<table><tr><td>Валути</td><td>Код</td><td>За единици<br>валута</td><td>Лева (BGN)</td></tr>' . "\n";

$lines = preg_split("/\n/", $string);
foreach ($lines as $line){
if (!preg_match('/^ |<|^$|^a\{|^\*|^Източник|^Позовава/', $line)){
if (preg_match('/^Авст|^Кана|^Швей|^Брит|^Рус|^Щат|^Япон/', $line)){
//echo $line . "\n";
$expl = preg_split("/\t/", $line);
echo '<tr><td>' . $expl[0] . '</td><td>' . $expl[1] . '</td><td>' . $expl[2] . '</td><td>' . $expl[3] . '</td></tr>' . "\n";

}}}
echo "</table>\n";
?>
 

Back
Горе