Problem mit preg_replace

  • Hallo!
    Ich habe ein Problem mit preg_replace:

    PHP
    $output = preg_replace('#\b([A-Z_ÄÖÜ]+)\b#Us', $this->getlang('$1'), $input);


    Warum wird der Funktion $this->getlang() nicht der gematchte Text (durch die Referenz $1) sondern '$1' übergeben?
    Ich habe auch schon alle möglichen anderen Schreibweisen versucht, aber bislang war alles vergeblich :(
    Bin schon auf die Lösung gespannt!
    LG nif7

  • Vielen Dank für die schnelle Antwort! :)
    Ich habe es jetzt so gelöst:

    PHP
    $output = preg_replace_callback('#\b([A-Z_ÄÖÜ]+)\b#Us', array($this, 'getlang'), $input);


    Die vorgeschlagene Lösung gab einen Fehler aus (invalid argument 2)...
    LG nif7