Matthias: preg_match zu gefrässig

Beitrag lesen

Hallo Christian,

Kleine Frage: warum nicht preg_replace?

prinzipiell kein Problem damit ...

$output = preg_replace ("/<ERRORMESSAGE>(.*?)</ERRORMESSAGE>/", "", $output);

aber das funktioniert ebenso wenig. Davon abgesehen, mit (.*?) bekommt man leider nicht den und den Carriage Return (\r) => das garnichts gematched wird.

Wenn Du uns die Variantionen nicht zeigst können wir Dir auch nicht sagen, was falsch ist.

schon wahr..
meine Versuche waren:
"/(<ERRORMESSAGE([\w,\W]*)</ERRORMESSAGE>)?/"
"/(<ERRORMESSAGE([\w,\W]*)</ERRORMESSAGE>){1}/"
//mit dem ? oder {1} sollte eigentlich nur einmal gematched werden
und noch sinnfreiere...

aber preg_match geht immer bis zum letzten Vorkommen von "</ERRORMESSAGE>" - soll aber beim ersten schon stoppen.

Viele Grüsse Matthias