Avatar billede _eksperten_ Nybegynder
22. februar 2004 - 22:05 Der er 7 kommentarer og
1 løsning

hente links og adskille

Hej !
Jeg har brug for en funktion der kan finde alle links fra en webadresse, og dele dem op i to arrays. Et array til URL og et til beskrivelsen. Jeg har lavet en funktion der henter sourcen fra siden og gemmer den i en tekstfil. Jeg skal bare vide hvordan jeg gennemsøger teksten for links. <a href="URL">Beskrivelse</a> eller <a class="klasse" href="URL">beskrivelse</a> den skal kunne klare alle variationer for links. Gemmer URLs og Beskrivelser i arrays...
Avatar billede schaefner Juniormester
22. februar 2004 - 23:33 #1
<?php
preg_match_all("/<a.*?href=\"(.+?)\".*?>(.+?)<\/a>/is",$content,$matches);

for($i=0;$i<count($matches[0]);$i++) {
    echo 'URL : '.$matches[1][$i].'<br>';
    echo 'TEXT : '.$matches[2][$i].'<br><br>';
}
?>
Avatar billede _eksperten_ Nybegynder
24. februar 2004 - 17:32 #2
Tak for svaret, men jeg kan ikke helt få det til at virke....

<?php

$GrabURL = "http://www.elvekjer.dk/body.htm";
$GrabStart = "<hhtml>";
$GrabEnd = "</html>";

$OpenFile = fopen("$GrabURL", "r");
$RetrieveFile = fread($OpenFile, 200000);
$GrabData = eregi("$GrabStart(.*)$GrabEnd", $RetrieveFile, $DataPrint);

preg_match_all("/<a.*?href=\"(.+?)\".*?>(.+?)<\/a>/is",$DataPrint,$matches);

for($i=0;$i<count($matches[0]);$i++) {
echo 'URL : '.$matches[1][$i].'<br>';
echo 'TEXT : '.$matches[2][$i].'<br><br>';
}

fclose($OpenFile);
echo $DataPrint[1];

?>

Kan du se hvad der er galt ?
Avatar billede _eksperten_ Nybegynder
24. februar 2004 - 17:35 #3
har lige set på det jeg har postet og så at jeg havde skrevet hhtml, selvom det er rettet til html sker der stadig intet
Avatar billede schaefner Juniormester
24. februar 2004 - 19:01 #4
<?php
$content = implode('',file('http://www.elvekjer.dk/body.htm'));
preg_match_all("/<a.*?href=\"(.+?)\".*?>(.+?)<\/a>/is",$content,$matches);

for ($i=0;$i<count($matches[0]);$i++) {
  echo 'URL : '.$matches[1][$i].'<br>';
  echo 'TEXT : '.$matches[2][$i].'<br><br>';
}
?>
Avatar billede _eksperten_ Nybegynder
24. februar 2004 - 19:26 #5
ok, nu virker det. Men jeg får stadig formateringen med. Hvordan gør jeg hvis jeg kun skal have teksten med ? Så den filtrerer alt mellem < > fra...
Avatar billede _eksperten_ Nybegynder
24. februar 2004 - 19:27 #6
og selvfølgelig også fjerne tags'ne < >
Avatar billede schaefner Juniormester
24. februar 2004 - 20:53 #7
<?php
$content = strip_tags(implode('',file('http://www.elvekjer.dk/body.htm')),'<a><img>');
preg_match_all("/<a.*?href=\"(.+?)\".*?>(.+?)<\/a>/is",$content,$matches);

for ($i=0;$i<count($matches[0]);$i++) {
    echo 'URL : '.$matches[1][$i].'<br>';
    echo 'TEXT : '.$matches[2][$i].'<br><br>';
}
?>
Avatar billede _eksperten_ Nybegynder
24. februar 2004 - 21:04 #8
Mange 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