preg_replace zu preg_replace_callback ändern

In diesem Bereich sind Themen vom Themenersteller als erledigt zu markieren, wenn die Frage beantwortet oder das Problem gelöst wurde. Das Thema wird daraufhin automatisch geschlossen.
Klicke hierzu auf "Thema bearbeiten > Als erledigt markieren".
  • Hallo,



    möchte die zwei Zeilen



    PHP
    1. $this->subject = preg_replace('/(^RE: RE\[)(\d+)(?=\]:)/ie', '"RE[".(\\2+1)', $this->subject);
    2. $this->subject = preg_replace('/^(RE: RE:(?: RE:)+)/ie', '"RE[".substr_count("\\1", "RE:")."]:"', $this->subject);




    umändern damit die Funktion
    preg_replace_callback verwendet wird.
    Blick aber nicht so richtig wie das mit der Funktion in preg_replace_callback funktioniert.


    Mein Ansatz ist:

    PHP
    1. $this->subject = preg_replace_callback('/(^RE: RE\[)(\d+)(?=\]:)/ie', Function $m{ return $m[3]; }, $this->subject);
    2. $this->subject = preg_replace_callback('/^(RE: RE:(?: RE:)+)/ie', Function $m{ return $m[1]; }, $this->subject);




    Wie gesagt der Teil mit der Funktion ist falsch, wär nett wenn mir jemand helfen könnte.

    Einmal editiert, zuletzt von GYJohn ()