[php] code tussen body tags filteren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik moet met PHP een HTML pagina filteren op de code tussen de body tags. Deze code wil ik graag in een string verkrijgen. Iemand enig idee hoe ik dit voor mekaar kan krijgen?

Filetje openen enzo luk allemaal wel, gaat alleen om dat stuk code te krijgen.

Bedankt alvast ...

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Kijk eens naar regular expressions :)

Klein stukje hierover in de FAQ: P&W FAQ - Regular expressions

[ Voor 56% gewijzigd door gorgi_19 op 21-08-2004 15:58 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmmm, daar moet het wel mee gaan lukken :)

bedankt hee, moet het allemaal nog ff doorkrijgen hoor dat ge-php.

Acties:
  • 0 Henk 'm!

  • commeric
  • Registratie: November 2002
  • Laatst online: 14-08 22:32
Als de regex je een beetje teveel zijn kan je ook een beetje vals spelen door twee keer de html te exploden op <body> en </body>. Is natuurlijk veel minder netjes dan een regular expression, maar het resultaat is er meestal wel naar ;).
Explode()

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

commeric schreef op 21 augustus 2004 @ 19:57:
Als de regex je een beetje teveel zijn kan je ook een beetje vals spelen door twee keer de html te exploden op <body> en </body>. Is natuurlijk veel minder netjes dan een regular expression, maar het resultaat is er meestal wel naar ;).
Explode()
alleen moet je wel 100% zeker weten dat die HTML file valid is ;)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Erkens schreef op 22 augustus 2004 @ 00:59:
alleen moet je wel 100% zeker weten dat die HTML file valid is ;)
Daar moet je bij regexps minstens net zoveel op letten als bij deze methode. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 19-09 22:02

krvabo

MATERIALISE!

Zoiets:
PHP:
1
2
3
4
5
6
7
if(substr($regel, 0, 6) == '<body>') { $start= 1; }
# Als het begin van de regel '<body>' is...
if(substr($regel, 0, 7) == '</body>') { $start = 0; }
# Als het begin van de regel '</body>' is...
if ($start == 1) {
// body
}

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

NMe84 schreef op 22 augustus 2004 @ 02:13:
[...]

Daar moet je bij regexps minstens net zoveel op letten als bij deze methode. :)
natuurlijk, maar dat kan je in je regexp doen, je pakt alles tussen de eerst <body> en de laatste </body>
krvabo schreef op 22 augustus 2004 @ 02:48:
Zoiets:
PHP:
1
2
3
4
5
6
7
if(substr($regel, 0, 6) == '<body>') { $start= 1; }
# Als het begin van de regel '<body>' is...
if(substr($regel, 0, 7) == '</body>') { $start = 0; }
# Als het begin van de regel '</body>' is...
if ($start == 1) {
// body
}
en bij deze methode moet de body-tag wel aan het begin van de regel staan

Acties:
  • 0 Henk 'm!

Verwijderd

dan zoek je eerst met strpos waar het staat :)

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 22 augustus 2004 @ 11:40:
dan zoek je eerst met strpos waar het staat :)
Wat dus veel meer handelingen zijn dan 1 regex of wat exploden.
En daarnaast ga je er bij die code vanuit dat de body-tag alleen op een regel staat, wat ook niet zo hoeft te zijn. Ook wordt er uitgegaan van het feit dat de body-tag geen attributen heeft (waar je ook vanuit gaat bij het exploden hoewel je op "<body" zou kunnen exploden en daarna beginnen vanaf de ">") dus imo is een regex het makkelijkst :)
Pagina: 1