Hello,
in einem längeren Text befindet sich eine Startsignatur mehrfach und die Abschlusssignatur des gesuchten Bereiches nur einmal.
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxSTARTxxxxxxxxxxxxxxx
xxxSTARTxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxSTARTsssssssssss
sssssssss
ssssssssssssssSTOPxxxxxxx
xxxxxxxxxxxxxxxxxx
STARTxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx
sss wird gesucht.
Wie muss ich das machen, dass ich nur den Bereich vom letzten Vorkommen von START vor STOP bis STOP bekomme?
Ich habe jetzt diverse Versuche mit Greedyness, Assertions usw. durch und komme auf keinen Lösungsweg.
Dabei kann ich die Positionen eindeutig identifiziern, könnte es also mit "Drumherumprogrammierung" auch lösen.
$_total_matches = array();
$offset = 0;
while (preg_match($pattern1, $content, $_matches, PREG_OFFSET_CAPTURE, $offset))
{
$_lastmatch = end($_matches);
$offset = $_lastmatch[1] + strlen($_lastmatch[0]);
$_total_matches[] = $_lastmatch;
}
Ich würde nur gerne wissen, ob man für diesen Fall nicht doch eine Regular Expression finden kann.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg