Avatar billede dugi Nybegynder
08. marts 2005 - 21:49 Der er 3 kommentarer og
1 løsning

Hent information mellem div tags fra URL

Hej alle.

Jeg prøver for sjov, at lege med at hente informationer mellem to tags fra en URL.

Til mit forsøg har jeg brugt TV2s TV-Guide. Jeg har prøvet at hente "nuværende program".

Men ligemeget hvad jeg gør, kan jeg ikke printe teksten. Min preg_match_all tæller den finder en, men arrayet er tomt :/

Her er min kode:

<?php
$data = file_get_contents('http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=1&Soegeord=&Dato=0&Kategori=0&Periode=2');
preg_match_all('/<div class=\'udsendelse-vises-nu\'>(.*)/', $content, $regs, PREG_PATTERN_ORDER);
?>
<html>
<head>
<title></title>
</head>

<body>
<table cellspacing="0" cellpadding="0">
  <tr>
    <td><pre><?php print_r($regs) ?></pre></td>
  </tr>
</table>
</body>
</html>


Når jeg printer, ser mit array så ledes ud:



Array
(
    [0] => Array
        (
        )

    [1] => Array
        (
        )

)


Nogen som kan se problemet, eller som evt. har en løsning eller nemmere metode? :)

Håber at i kan hjælpe.
På forhånd mange tak.


Med venlig hilsen
Morten
Avatar billede coderdk Praktikant
08. marts 2005 - 21:54 #1
Det er nok fordi du mangler "s" modifieren. Denne virker:

    $cnt = file_get_contents( 'http://tv.tv2.dk/tv/listning.php?Region=1&KanalID=1&Soegeord=&Dato=0&Kategori=0&Periode=2' );
    preg_match( "/<div class='udsendelse-vises-nu'>(.*?)<\/div>\s*<\/td>/s", $cnt, $m );
    $vises_nu = $m[1];
Avatar billede coderdk Praktikant
08. marts 2005 - 21:54 #2
Og et svar :)
Avatar billede dugi Nybegynder
08. marts 2005 - 21:57 #3
Fantastisk, og ekstrem hurtigt :)
Men du kunne ikke forklare lidt om hvad den modifierer gør og hvorfor du har sat ? i min parantes? :)

Igen, TUSIND TAK :)
Avatar billede coderdk Praktikant
08. marts 2005 - 22:01 #4
"s" modifieren gør at . også matcher \n (newlines), hvilket den normalt ikke gør :) ? gør at udtrykket ikke er grådigt - forklaring: Antag at du har teksten: "123123123", en match efter /(1.*3)/ vil matche hele teksten, en match efter /(1.*?3)/ vil finde de første 123 - Altså ? gør at den ikke er grådig ;)
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