Avatar billede alexanderss Nybegynder
30. august 2006 - 20:25 Der er 4 kommentarer og
2 løsninger

Iframe skal kun hente nogle data fra andre sider.

Hej,
min far er interesseret i nogle valutakurser (https://www.sparnord.dk/investering/valuta/kurser/), der hvor der står Valutakurser mod euro. Hvordan laver jeg et script, der i et iframe KUN henter de data med Valutakurser mod euro?

Jeg håber I kan hjælpe mig!
Avatar billede coderdk Praktikant
30. august 2006 - 22:27 #1
Du må nok ikke bruge de data uden tilladelse ;P Men her er noget der kan:

    function hentKurserModEUR()
    {
        $cnt = file_get_contents( "https://www.sparnord.dk/investering/valuta/kurser/" );
        if ( preg_match( "/<br clear=\"all\".*?(<table.*?mod EUR.*?\/table.*?\/table>.*?\/table>)/s", $cnt, $m ) )
        {
            return $m[1];
        }
        else
        {
            return "FEJL: Kunne ikke hente EUR kurser!";
        }
    }
   
    echo hentKurserModEUR();

Det kræver at fopen_wrappers er slået til og din PHP understøtter SSL.

Alternativt kan du selv regne dem ud med nationalbankens kurser:

    $cont = file_get_contents( "http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml" );

    if ( preg_match( "/dailyrates id=\"(.*?)\"/", $cont, $match ) )
    {
        $date = $match[1];
        preg_match_all( "/code=\"(.*?)\" desc=\"(.*?)\" rate=\"(.*?)\"/"
            ,$cont
            ,$matches );
        $n = count( $matches[1] );
        $rates = array();
        for ( $i = 0; $i < $n; $i++ )
        {
            $rates[ $matches[1][ $i ] ] = array(
                "name" => $matches[2][$i], "rate" => $matches[3][$i] );
        }
    }

    echo "$date<pre>";var_dump( $rates );echo "</pre>";
Avatar billede alexanderss Nybegynder
31. august 2006 - 08:23 #2
Hej igen!
Tak, det var lige det jeg skulle bruge! Men inden jeg giver dig pointene, er det så muligt, at få alt det der HTML med?
Avatar billede mcgoat Nybegynder
31. august 2006 - 09:14 #3
få alt det der HTML med?
Avatar billede alexanderss Nybegynder
31. august 2006 - 09:33 #4
Billederne (pilene), teksten-stylen osv.
Avatar billede coderdk Praktikant
31. august 2006 - 09:43 #5
function hentKurserModEUR()
    {
        $cnt = file_get_contents( "https://www.sparnord.dk/investering/valuta/kurser/" );
        preg_match( '!<link rel="stylesheet.*?href="(.*?)" />!', $cnt, $m );
        $style = $m[1];
        if ( preg_match( "/<br clear=\"all\".*?(<table.*?mod EUR.*?\/table.*?\/table>.*?\/table>)/s", $cnt, $m ) )
        {
            return '<style type="text/css">@import "' . $style . '";</style>' .
                preg_replace('!img src="/!', 'img src="https://www.sparnord.dk/', $m[1] );
        }
        else
        {
            return "FEJL: Kunne ikke hente EUR kurser!";
        }
    }
 
    echo hentKurserModEUR();
Avatar billede alexanderss Nybegynder
31. august 2006 - 10:05 #6
Tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester