Avatar billede kviller Novice
02. oktober 2004 - 07:42 Der er 9 kommentarer og
2 løsninger

Hente HTML fra et andet dokument.

Jeg har siddet og rodet lidt med at "stjæle" lidt html fra en anden side på nettet... Det drejer sig om at jeg skal bruge en vejrudsigt på min side, men ser kun 2 muligheder (Kan ikke finde ud af nogen af dem)

1) Lave en iframe hvor denne side er i, hvis man kan vælge en specific location på den anden side og slå scroll fra, så det kun lige akurat er selve udsigten er i framen.

2) Få php til at hente en del af dokumentet fra en specific location i det html dokument som ligger på en anden server og printe det ind i mit eget dokument.

Jo, jeg har fået lov til at vise vejrudsigten på min egen side, hvis jeg skriver at det er hentet fra deres side, men de ville ikke give mig nogen hjælp til at gøre dette....

Håber der er nogen eksperter her der kan hjælpe mig med dette, evt få scriptet til at kopiere html filen over på min side og derefter "grabbe" det fra det som den skal bruge....


Har brug for at hente dette dagligt fra deres dokument, men vejret har det jo desværre med at ændre sig dag for dag.

<table width="268" border="0" cellspacing="0" cellpadding="0">
                                       
<tr>
                                           
<td colspan="4" height="10"></td>
                                       
</tr>
                                       
<tr bgcolor="#ccffff">
                                           
<td>
                                                <img src="http://images.tvnz.co.nz/tvnz_site_images/weather_icon_fine.gif">
                                                   
                                                </img>
                                            </td>
                                            <td><img src="http://images.tvnz.co.nz/tvnz_site_images/weather_temp_high.gif" height="47" width="47"></td>                                       
                                            <td width="87" align="center"><span class="temp_high"><strong>HIGH<br>
<span class="text_large">
<tvnzweather:max_temp xmlns:tvnzweather="http://tvnz.co.nz/weather/1.0" xmlns:set="http://exslt.org/sets" xmlns:java="http://xml.apache.org/xslt/java" units="celsius">17</tvnzweather:max_temp>c</span></strong></span></td>
                                            <td width="87" align="center"><span class="temp_low"><strong>LOW<br>
<span class="text_large">
<tvnzweather:min_temp xmlns:tvnzweather="http://tvnz.co.nz/weather/1.0" xmlns:set="http://exslt.org/sets" xmlns:java="http://xml.apache.org/xslt/java" units="celsius">6</tvnzweather:min_temp>c</span></strong></span></td>
                                       
</tr>
                                       
<tr>
                                           
<td colspan="4" height="10"></td>
                                       
</tr>
                                       
<tr>
                                           
<td colspan="4">
                                                Fine, high cloud. Southwesterlies easing tonight.
                                            </td>
                                       
</tr>
                                   
</table>
Avatar billede kviller Novice
02. oktober 2004 - 07:55 #1
I kan evt prøve at gå ind på http://www.nedjakob.dk/tests/weather.php og scrolle ned til today, det er sådan jeg gerne vil have det til at se ud, bare uden man skal&kan scrolle
Avatar billede jakobdo Ekspert
02. oktober 2004 - 10:04 #2
Du kan hente selve siden med:
$domain = "http://tvnz.co.nz/cda/tvnz/weather_area_skin"
    ."?area=" .urlencode("AUCKLAND")

$content = file_get_contents($domain);

Så har du hele siden liggende i $content, så skal du igang med noget string replace eller regexp...
Avatar billede hmortensen Nybegynder
02. oktober 2004 - 10:35 #3
jakobdo, man kan da fint bruge noget af din gamle kode:
<?php

$domain = "http://tvnz.co.nz/cda/tvnz/weather_area_skin"
    ."?area=" .urlencode("AUCKLAND");
$startTekst = '<div id="column_content">';
$slutTekst  = '</div>';

flush();

$content = file_get_contents($domain);
if (!$content)
{
    echo "Fejl under hentning af stillingen";
}
else
{
    $start  = strpos($content, $startTekst);
    $slut = strpos($content, $slutTekst, $start);
    $length = $slut-$start;
    $stilling = substr($content, $start, $length);
    echo $stilling;
}

?>
Avatar billede jakobdo Ekspert
02. oktober 2004 - 10:54 #4
Jaja... :o)
Avatar billede hmortensen Nybegynder
02. oktober 2004 - 10:57 #5
Har dog sat offset på slut, så den finder den rigtig div afslutning
Avatar billede kviller Novice
03. oktober 2004 - 00:36 #6
Det virker fint, mange tak, det var lige sådan jeg havde tænkt mig det... Kan du ikke smide et svar, så jeg kan give dig points? /me happy.

Takker.
Avatar billede hmortensen Nybegynder
03. oktober 2004 - 00:38 #7
Det var så lidt.

PS.: Du må hellere gi jakobdo lidt også, et var trodsalt noget af hans gamle snask jeg ændrede i ;)
Avatar billede jakobdo Ekspert
03. oktober 2004 - 00:43 #8
Et lille svar! :o)
Avatar billede kviller Novice
03. oktober 2004 - 00:49 #9
Fandt bare et lille problem dog, sidder selv og prøver at løse det, den henter noget andet end den rigtige. F.eks er det på tvnzs hjemmeside 17 grader nu og på http://www.nedjakob.dk/tests/weather.php er det kun 15 grader :) Lidt mystisk ikke?
Avatar billede jakobdo Ekspert
03. oktober 2004 - 01:42 #10
Avatar billede kviller Novice
03. oktober 2004 - 07:10 #11
Det gør jeg også nu, men det gjorde jeg ikke i starten, selvom jeg trykkede refresh osv, men håber det virker nu, det ser sådan ud... Endnu en gang tak...
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