Inhalt zwischen <body...> und </body> ermitteln
Andreas Vogt
- php
Hallo,
wie kann ich mit php den Inhalt einer Variable so auslesen dass ich nur den Text zwischen <body...> und </body> erhalte?
Gruß Andreas
Salü
Wie wärs mit:
$string = file_get_content('irgentwas.html');
$string = explode('<body>', $string); // Inhalt ist auf $string[1]
$string[1] = explode('/<body>', $string);
echo $string[0];
L.g. Botter
Das funktioniert aber nur wenn das body-tag richtig im Quelltext steht!
Außerdem wirdst du bei folgendem tag Probleme bekommen:
<body id="blub>
Wenn du das ganz sauber machen willst benötigst du einen relativ komplizierten regulären Ausdruck. Sowas solltest du aber bereits fertig im Netz finden. Vielleicht postet dir das ja auch einer. :)
Mfg Mo3bius
Wenn du das ganz sauber machen willst benötigst du einen relativ komplizierten regulären Ausdruck.
Eigentlich nicht - solche aufgaben sind mir regulären Ausdrücken sogar relativ einfach und kontrollierbar zu lösen. Dennoch würde ich einen XML-Parser oder vergleichbares empfehlen.
@@suit:
nuqneH
Wenn du das ganz sauber machen willst benötigst du einen relativ komplizierten regulären Ausdruck.
Eigentlich nicht - solche aufgaben sind mir regulären Ausdrücken sogar relativ einfach und kontrollierbar zu lösen.
Hm. <body title=">">Lorem ipsum</body>
Qapla'
Hm.
<body title=">">Lorem ipsum</body>
Drum sagte ich, _relativ_ kontrollierbar :)
auch das schließende body-Element ist, je nach DTD auch nur implizit vorhanden - darum der Hinweis auf einen XML-(SGML/DOM)-Parser