[php]Behöver hjälp med ett projekt

Permalänk
Medlem

[php]Behöver hjälp med ett projekt

Hej,

Jag håller på med ett projekt och har dessvärre kört fast lite. I mitt projekt kommer jag behöva läsa in en html-fil och rad för rad söka efter en speciell klass. Där klassen påträffas ska jag ska läsa av vilken typ av html-tagg som klassen står skriven i samt innehållet i den taggen.
Som det framgår i rubriken är det en lösning som är möjlig att göra i php jag är ute efter.

exempel:

<p class="klassnamn"> lite text </p>

Här stöter vi alltså på klassen "klassnamn" och ska därför titta vilken tagg klassen står skriven i, i det här fallet handlar det om en paragraf <p>...</p>, sedan ska vi spara innehållen i taggen, alltså lite text.

Att läsa in filen och gå igenom den rad för rad kan jag klara av själv, men det är just att hitta raderna där "klassnamn" förekommer och att sedan avgöra vilken typ av tagg det handlar om samt innehållet i den taggen som jag inte riktigt klarar av. Jag har funderat lite på om regexp skulle gå att använda till det här men jag har inte riktigt förstått hur jag ska göra i så fall.

Jag skulle uppskatta lite hjälp på traven med det här problemet. Kom med förslag på lösningar.

Tack på förhand

Permalänk
Medlem

Om du inte absolut vill skriva det själv så finns tex. den här.
Annars skulle du kunna testa någon av de XML-parsers som finns med i PHP. Har dock ingen koll på hur kinkiga de är på om HTML-koden inte är valid osv.

Permalänk
Medlem

Oj, det var som skräddarsytt för mig. Mycket tack! Men det skulle vara roligt att veta hur man skulle kunna gör om man kodade själv, mest för att det är intressant och nyttigt att kunna.

Permalänk
Medlem

Om du vill göra det själv så rekommenderar jag att du kollar in regular expressions.

Permalänk
Medlem

Det ska jag kolla in när jag har tid.

Permalänk
Medlem

Nu behöver jag lite hjälp igen.
Om jag stöter på en div med den klassen vi letar efter och vill ha innehållet i den diven, som inte bara behöver vara text utan även fler taggar, hur gör jag då? Taggarna i diven behöver inte innehålla den rätta klassen för att dem ska tas med, utan allt som står i diven ska tas med.