das Ich: Aufspalten einer HTML-File in Doctype/Header/Body/...

Beitrag lesen

Hola,

ich habe einen String, in dem sich mehr oder weniger ein komplettes
HTML-Dokument befindet.

Vielleicht jedoch auch ein XHTML-Dokument. Deswegen brauche ich neben
dem head, den ich vorerst vom Rest des Dokumentes (zumindest mir aus-
reichend) mit

list($head, $body) = explode('</head>', $file);

abtrennen konnte, auch noch den Doctype.

Also habe ich mir ein kleines Regular-Expression-Pattern ausgedacht:

preg_match('/^(.*?)(<html.*?>.*?<head.*?>)(.+?)(</head>.+)$/', $file, $matches);

Wie man sieht, habe ich immer nach den .* bzw. .+ ein ? stehen.
Ich bin nämlich ehrlich gesagt zu faul, immer [^>] anstatt . zu
schreiben und gehe jetzt einfach mal davon aus, dass dasda:
http://de.selfhtml.org/cgiperl/sprache/regexpr.htm#gierig_genuegsam
auch bei der PHPlischen Regex-Engine geht.

Er findet nur nix. Gibt's bei der Funktionsvielfalt bei PHP nicht
irgendeine Funktion, die genau sowas erledigt?
Was ist an meinem pattern falsch?

Gruß,

das Ich