Avatar billede Lasse S Novice
18. juli 2005 - 08:11 Der er 5 kommentarer og
1 løsning

finde vejrudsigt hos dmi

Hej eksperter!

Jeg har nedenstående PHP-script, og det virker sådan set (http://delc.dk/pda/vejrudsigt/), men jeg synes ikke mønstret er særligt elegant (og derfor spørger jeg her, ikke i PHP-kategorien).
Jeg kunne godt tænke mig i stedet for at skulle navigere fra < til > og så videre (enkelttegn), at kunne gå fra <font> til </font> (tekststrenge) - men jeg kan ikke finde ud af at angive bestemte sekvenser af ord, hvor det ikke bare bliver bogstaverne f-o-n-t men ordet font..

Hjælp!
:o) Lasse

<?
$name = "DMI";
$url = "http://www.dmi.dk/dmi/index/danmark/regionaludsigten/kbhnsj.htm";
$content = file_get_contents($url);
$pattern = 'class="broedtekst">(regional[^<]+</font>[^K]+[^<]*</b><br>[^<]*<font[^>]*>[^<]+)';

if (eregi($pattern, $content,$matches)) {
    echo "<h3>".$name."</h3>";
    echo "<p>".$matches[1];
} else {
    echo ".. kunne ikke finde vejrudsigten hos <a href='".$url."'>".$name."</a>";
}
?>
Avatar billede roenving Novice
18. juli 2005 - 13:33 #1
Du kan ikke bruge negering over tegn-sekvenser umiddelbart, men måske er der nogle, som har et trick, men du kan sætte non-greedy på, så den stopper sin matching hurtigst muligt:

$pattern = 'class="broedtekst">(regional.+?</font>.*?</font>)';
Avatar billede Lasse S Novice
19. juli 2005 - 22:02 #2
Jeg får fejlmeddelelsen:
Warning: eregi(): REG_BADRPT in line.... ??

Og hvis jeg fjerner dine to spørgsmålstegn i mønstret, så får jeg alt for meget tekst med, da der jo også senere i den indlæste tekst findes </font>-tags, som den så bare søger frem til - det var derfor jeg gerne ville kunne sige "tag alt undtagen </font>"...
Avatar billede Lasse S Novice
19. juli 2005 - 22:09 #3
"tag alt undtagen" = negering over tegn-sekvenser :o)
Avatar billede Lasse S Novice
23. november 2006 - 14:41 #4
tråden lukkes - smid et svar!
:o) xls
Avatar billede Lasse S Novice
27. december 2010 - 21:07 #5
Roenving,

Jeg har glemt hvordan det kom til at virke, men læg et svar og få dine fortjente point :)

vh Lasse
Avatar billede Lasse S Novice
29. december 2010 - 12:28 #6
lukker
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
Kurser inden for grundlæggende programmering

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