hallo,
so sieht meine html datei aus, sprich meine template datei ( auszug )
Entschuldige, es wäre eventuell besser, wenn du als Beispiel eine ganz kleine tatsächlich verwendete Datei angeben wolltest.
Ich habe, wenn ich mirs genau anschaue, den Eindruck, daß du die Zeilenumbrüche vergessen hast, die es höchstwahrscheinlich in deinem
{ CONTENT }
gibt. Vielleicht hilft es, das Muster
"/([\r\n])[\s]+/";
erstmal mit preg_replace() zu entfernen.
Um es nochmal klar auszudrücken, ich will { CONTENT } haben, und nicht die Kommentare.
Um es nochmal klar ausudrücken: was willst du denn mit "(CONTENT)" anstellen? Soll das dann ausgegeben oder abgespeichert oder irgendwie weiterverarbeitet werden?
Meine Ansätze sind ja bekannt.
Bekannt ist beispielsweise
$sMuster = "/<!--\sSTART\sCONTENT\s-->(.*)<!--\sENDE\sCONTENT\s-->/";
Darin sind die "s" wahrscheinlich überflüssig, und die "" wahrscheinlich auch. Was übrig bleibt, könnte also
$sMuster = "/<!--START CONTENT-->(.*)<!--ENDE CONTENT-->/";
sein. Und da siehst du doch sofort selbst, daß darin keinerlei Zeilenumbrüche enthalten sind. Nach deiner Vorgabe steht in der eingelesenen HTML-Datei aber
<!--START CONTENT-->
*
*
*
*
<!--ENDE CONTENT-->
Das heißt, bereits hinter <!--START CONTENT--> gibts den ersten Umbruch, und den hast du nicht abgefangen. Die Folge: dein "Ausdruck" paßt nirgends, und dein Script gibt dir folgerichtig einen leeren Array zurück.
Grüße aus Berlin
Christoph S.
mailto:christoph.schnauss@berlin.de
http://www.christoph-schnauss.de
ss:| zu:) ls:& fo:) va:) sh:| rl:|