Валутни курсове от БНБ. php код .....

Noxy

Registered
Може ли и как да се вземе използва определена инфо. от даден сайт ?
Например: http://www.bnb.bg/bnb/rates.nsf/vWebRatesByMonthEN/$First

Интересувам се от курса на долара. Можели по някакъв начин, когато тои се смени на сайта на БНБ да се сменя и на моя...
 
Noxy каза:
Може ли и как да се везме използва определена инфо. от даден сайт ?
Например: http://www.bnb.bg/bnb/rates.nsf/vWebRatesByMonthEN/$First

Интересувам се от курса на долара. Можели по някакъв начин, когато тои се смени на сайта на БНБ да се смения и на моя...

може, ама сега не мога да го намеря

http://clubs.dir.bg/postlist.php?Board=html - тук е обсъждано многократно. Виждал съм го и по други форуми
 
Noxy каза:
ми трабва да го използвам...трябва ми като променлива
Не трябвали да искаш позволително от админа на сайта ,за да ползваш базата им данни ?
 
index каза:
Noxy каза:
ми трабва да го използвам...трябва ми като променлива
Не трябвали да искаш позволително от админа на сайта ,за да ползваш базата им данни ?

спокойно, всеки взима от бнб ;)
Не че има значение, но няма да ги тегли директно от базата
 
набързо написах това но не е много добро
<?php
$fp =file_get_contents("http://www.bnb.bg/bnb/rates.nsf/vWebRatesByMonthEN/\$First/" ,"r");


$niz=explode("<tr>", $fp);
for($i=0;$i<=count($niz);$i++){
if(eregi('US Dollar',$niz[$i])){echo $niz[$i];}
}
?>
 
Получи ми се този код :

Код:
<td><font face=Verdana size=1>US Dollar</font></td><td><font face=Verdana size=1><b>USD</b></font></td><td align=right><font face=Verdana size=1>1</font></td><td align=right><font face=Verdana size=1>1.482590</font></td><td align=right><font face=Verdana size=1>1</font></td><td align=right><font face=Verdana size=1>0.674495</font></td>

Може ли от него по същия начин да се земе само 1,48....
 
<?php
$fp =file_get_contents("http://www.bnb.bg/bnb/rates.nsf/vWebRatesByMonthEN/\$First/" ,"r");


$niz=explode("<tr>", $fp);
for($i=0;$i<=count($niz);$i++){
if(eregi('US Dollar',$niz[$i])){
$old[1]="<td><font face=Verdana size=1>US Dollar</font></td><td><font face=Verdana size=1><b>USD</b></font></td><td align=right><font face=Verdana size=1>1</font></td><td align=right><font face=Verdana size=1>";
$old[2]="</font></td><td align=right><font face=Verdana size=1>1</font></td><td align=right><font face=Verdana size=1>0.674495</font></td>";
$niz[$i]=str_replace($old,'',$niz[$i]);
echo $niz[$i];}
}
?>

само да отбележа че този код е доста тромав
 
но така като се промени виксинга на се до резултата който ме интересува се появявя появявят и други неща.

Получава се следния код:
Код:
1.482590</font></td><td align=right><font face=Verdana size=1>1</font></td><td align=right><font face=Verdana size=1>0.674495</font></td>

може ли от него да се вземе само 1.482590 и ще станат 2 фаила...
 
Това изразяване зависи от 0,674495. Доколкото разбирам, когато то е промени, ще се промени и резултата... такаче този код не пи върши особена работа...
 
Ето какво направих ...

fiksing_bnb.php
Код:
<?php
$fp=file_get_contents("http://www.bnb.bg/bnb/rates.nsf/vWebRatesByMonthEN/\$First/" ,"r");


$niz=explode("<tr>", $fp);
for($i=0;$i<=count($niz);$i++){
if(eregi('US Dollar',$niz[$i])){
$old[1]="<td><font face=Verdana size=1>US Dollar</font></td><td><font face=Verdana size=1><b>USD</b></font></td><td align=right><font face=Verdana size=1>1</font></td><td align=right><font face=Verdana size=1>";
$old[2]="</font></td><td align=right><font face=Verdana size=1>1</font></td><td align=right>";
$niz[$i]=str_replace($old,'',$niz[$i]);
$zapis=$niz[$i];
$fp = fopen ( "fiksing.html" ,"w");
fwrite($fp, $zapis );
fclose($fp);
}
}
?>


fiksing,php
Код:
<?php
include "fiksing_bnb.php";

$fp =file_get_contents("http://localhost/Computers/Admin/fiksing.html" ,"r");


$niz=explode(" ", $fp);
for($i=0;$i<=count($niz);$i++){
if(eregi('<font',$niz[$i]))
{echo $niz[$i];}
}
?>


дотук добре... ама
Код:
if(eregi('<font',$niz[$i]))
на този ред нещата се усират... През FF всичко е наред. Но през IE ми излиза 1.482590<font. Насичкото отгоре докато се изпълни тове ми умира коня по 156 пъти...
 
дам явно няма да стане по този начин а несе сещам и друг може да пробваш същото но от дир.бг
 
Да ви призная и аз се озорих.
Трябва да си го запазим този код, защото ще трябва и за други неща.
Добре, че погледнах кода на mute та по него сглобих това.


http://admin.web-tourist.net/demo/bnbpari.php


<?php
$readfile =file_get_contents("http://www.bnb.bg/bnb/rates.nsf/vWebRatesByMonthEN/\$First/" ,"r");
$searchfile = eregi("<HTML>(.*)</HTML>", $readfile ,$arrayreg);
$filechunks = explode("<tr><td><font face=Verdana", $arrayreg[0]);
$count = count($filechunks);
echo "<table border='1'>";
echo "<th colspan='5'>Кражба на валутни курсове. :) </th>";
for($i=1 ; $i<=$count-1 ;$i++)
{
ereg("<td align=right><font face=Verdana size=1>(.*)</font></td>",$filechunks[$i], $pari);
ereg("<font face=Verdana size=1><b>(.*)</b></font>",$filechunks[$i], $valuta);
echo "<tr><td>";


echo $pari[1];
echo "</td><td>";
echo $valuta[1];
echo "</td></tr>";
}
echo "</table>";
?>
 
трябва ми курса на долара само ... :?: Само като стоиност... да е някаква променлива ...
 
<?php
$readfile =file_get_contents("http://www.bnb.bg/bnb/rates.nsf/vWebRatesByMonthEN/\$First/" ,"r");
$searchfile = eregi("<HTML>(.*)</HTML>", $readfile ,$arrayreg);
$filechunks = explode("<tr><td><font face=Verdana", $arrayreg[0]);
$count = count($filechunks);
for($i=1 ; $i<=$count-1 ;$i++)
{
ereg("1</font></td><td align=right><font face=Verdana size=1>(.*)</font></td><td align=right><font face=Verdana size=1>1</font>",$filechunks[$i], $pari);
ereg("<font face=Verdana size=1><b>(.*)</b></font>",$filechunks[$i], $valuta);



if($valuta[1]=="USD")
{
$USD=$pari[1];
}

}

echo $USD;
?>


Виждаш, че променливата $USD е равна на курса на долара.

DEMO:

http://admin.web-tourist.net/demo/bnbdolar.php
 

Back
Горе