Gengi gjaldmiðla

Skrifað af
Birkir Rafn Guðjónsson þann
29. mars 2008 - 10:23
Fjöldi lestra: 1492
Svona nærðu gengi gjaldmiðla (my way) en það er hægt með t.d. XML array clasanum sem Tómas félagi minn gerði hér nokkrum póstum á undan.
En þarna sæki ég gengi beint frá landsbankanum og bý til array eins og ég vill hafa það úr xml skjalinu.
Svo sýni ég nokkrar leiðir sem hægt er að nota það með...
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 |
|
<?php
## Eftir Birkir Rafn Guðjónsson
## Skrifað 29. Mars 2008
## Tested on PHP 5.1.2
## Vefsíðan sem geymir upplýsingar um gengi gjaldmiðla (Landsbankinn)
$cont = 'http://www.landsbanki.is/Services/XMLGengi.asmx/NyjastaGengi';
## Sækjum efni skráarinnar
$gengi = utf8_decode(file_get_contents($cont));
## Fáum inn array fyrir hvern gjaldmiðil fyrir sig
preg_match_all("#<GjaldmidillRow>(.*?)</GjaldmidillRow>#s", $gengi, $ut);
## Búum til array fyrir $gengisarray
$gengisarray = array();
## Fyrir XML á hverjum gjaldmiðli skal gera:
foreach($ut[1] as $numer => $upplysingar){
## Finna kóða gjaldmiðilsins
preg_match('#<Mynt>(.*?)</Mynt>#s',$upplysingar, $mynt);
$mynt = $mynt[1];
## Finna heiti gjaldmiðilsins
preg_match('#<Heiti>(.*?)</Heiti>#s',$upplysingar, $heiti);
## Finna erlent heiti gjaldmiðilsins
preg_match('#<HeitiEN>(.*?)</HeitiEN>#s',$upplysingar, $heitiEN);
## Finna dagsettningu gengisins
preg_match('#<Dagsetning>(.*?)</Dagsetning>#s',$upplysingar, $dagsetning);
## Finna kaup gengisins
preg_match('#<Kaup>(.*?)</Kaup>#s',$upplysingar, $kaup);
## Finna sölu gengisins
preg_match('#<Sala>(.*?)</Sala>#s',$upplysingar, $sala);
## Finna smámynd gengisins
preg_match('#<IconUrl>(.*?)</IconUrl>#s',$upplysingar, $iconurl);
## Búum til array
$gengisarray[$mynt] = array($heiti[1],$heitiEN[1],$dagsetning[1],$kaup[1],$sala[1],$iconurl[1]);
}
## Svo getum við gert það sem okkur sýnist með þetta array.
## Hér kemur print_r á arrayinu í <pre>.
echo '<pre>'."\n";
print_r($gengisarray);
echo '</pre>'."\n\n<br>\n";
## Búa til select með öllum gengjum
echo '<select name=gjaldmidill>'."\n";
foreach($gengisarray as $mynt => $uppl){
echo "<option value=$mynt>$uppl[0]</option>\n";
}
echo '</select>'."\n";
## Búa til select með áhveðnum gengjum
echo '<select name=gjaldmidill>'."\n";
foreach($gengisarray as $mynt => $uppl){
if($mynt == 'EUR' || $mynt == 'USD' || $mynt == 'GBP')
echo "<option value=$mynt>$uppl[0]</option>\n";
}
echo '</select>'."\n";
## Búa til select með öllum gengjum nema einu
echo '<select name=gjaldmidill>'."\n";
foreach($gengisarray as $mynt => $uppl){
if($mynt != 'JPY')
echo "<option value=$mynt>$uppl[0]</option>\n";
}
echo '</select>'."\n\n<br>\n";
## Búa til svona fjármálastöðvar scroll lista yfir gengi gjaldmiðla
echo '<marquee direction=up width="280" scrolldelay="500" height="22">';
foreach($gengisarray as $mynt => $uppl){
echo $uppl[0].' er '.$uppl[3].'kr.<br><br>';
}
echo '</marquee>'."\n";
?>
|
Geggjað hjá þér Bibbi minn ;P En versti gallinn við þetta scroll hjá þér er að marquee er ekki valid X/HTML. En annars bara flott ;P