Avatar billede basicq Nybegynder
14. april 2004 - 12:49 Der er 8 kommentarer og
1 løsning

læse fil indhold og træk ord ud.

Jeg gerne scanne et .html dokument for bestemte tags, og trækker de tags ud og gemme dem i et .txt dokument.

Kan jeg få hjælp til det.
Avatar billede swaxi Nybegynder
14. april 2004 - 14:36 #1
tough one.
dit problem i den henseende er nok mest, hvor "pæne" dine kildedata er.
hvis du kan garantere, at dit html-dokument er validt XHTML, så kan du bruge en XML-parser til opgaven.
ellers kan du muligvis trylle med nogle regulære udtryk.
Avatar billede dennismp Nybegynder
14. april 2004 - 17:49 #2
preg_match_all("#<specialtag>(.*)</specialtag>#",$input,$matches); ?
Avatar billede basicq Nybegynder
14. april 2004 - 21:19 #3
Jeg har prøvet sådan her, måske det giver lidt mere mening om hvad det er jeg mener.
Men det virker ikke :-(
//$content skal være indhold fra en fil, fopen()

$content = 'her er et <a href="link.html" class="test">link</a><p class="test1">der kan trykkes på.</p>';
ereg("class=\"(.*)\"",$content,$match);
//preg_match_all("#class=\"(.*)\"#",$content,$match);
for($i=0; $i< count($match); $i++)
{
    echo "Match: ".$match[$i];
}
Avatar billede dennismp Nybegynder
14. april 2004 - 21:25 #4
$content = 'her er et <a href="link.html" class="test">link</a><p class="test1">der kan trykkes på.</p>';
preg_match_all("#class=\"([^\"]*)\"#",$content,$match);

dette finder test og test1. Er dette hvad du ønsker?
Avatar billede basicq Nybegynder
14. april 2004 - 21:45 #5
Yeps det er lige hvad jeg vil og det ser ud til at virker sådan da. count($match) tæller ikke rigtigt.
Hvis jeg laver det sådan her $content = '<hr class="der1"><hr class="der">her er et <a href="side.html" class="hej">link</a><p class="hej1">der </p> <table class="nogetnyt">ddd</table>';

Så er der 5 class="" men den finder kun 3?
Avatar billede dennismp Nybegynder
14. april 2004 - 21:54 #6
Jeg får 5, har du andre eksempler hvor den ikke finder alle?
Avatar billede basicq Nybegynder
14. april 2004 - 21:58 #7
hmm underligt når jeg echo'er den ud så skriver den 2.
Avatar billede basicq Nybegynder
14. april 2004 - 22:02 #8
aaaaa nu ved jeg hvad det er, jeg har jo gjordt sådan her count($match); og det skal jo være count($match[1]);

Sorry nu spiller det takker mange gange smid et svar.
Avatar billede dennismp Nybegynder
14. april 2004 - 22:03 #9
hehe :)
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