Tom: (?!unerwuenschte-zeichenkette)

Beitrag lesen

Hello,

Wie muss ich das machen, dass ich nur den Bereich vom letzten Vorkommen von START vor STOP bis STOP bekomme?

Ist dir preg_match('/\A.+START(.+?)(?=STOP)/s', $content, $_matches) zu einfach?
Das liefert in $_matches[1] den gewünschten Teilstring. Falls dir nicht gefällt, dass
auch noch etwas mehr gefunden wird, nimmst du halt
preg_replace('/\A.+START(.+?)(?=STOP).+\z/s', '$1', $content)

Könntest Du bitte nochmal 'was zu \A und \z sagen.
Ist das identisch mit ^ und $?

bei PHP steht leider nur "The simple assertions coded as \b, \B, \A, \Z, \z, ^ and $ are described above" und above ist (noch) nichts zu finden. Liegt wohl am Umbau der Seiten.
http://de2.php.net/manual/en/regexp.reference.assertions.php

Und Wiki schweigt sich dazu ganz aus.
http://de.wikipedia.org/wiki/Regulärer_Ausdruck

Warum versuchst du es dann mit Regulären Ausdrücken?
Soll das eine Knobelaufgabe werden? ;-)

Nö, sollte es nicht, ist es aber inzwischen geworden.

Es geht dann noch weiter. Block  (.+?) enthält jetzt mehrere Paare von Parametern, die ich eigentlich haben will.

Mit Stringfunktionen, explode() und einfachen RegExp habe ich das Ergebnis ja schon, aber nun hat mich der Ehrgeiz gepackt, aus ca. 40 Zeilen Programm eine Zeile Pattern zu machen...

Nachdem Du mir gezeigt hast, dass der erste Teil funktioniert, bin ich sicher, dass der zweite auch noch klappt :-)

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de