Ciao a tutti ragazzi, ho una stringa di questo tipo

codice:
$string = preg_replace("/({TEXT: )(.+?)(})/i", formatText("$2"), $string);
dove la funzione formatText() restituisce la stringa ricevuta in un testo formattato.
La domanda è: come posso passare il valore di $2 alla funzione?
Scritto così non me lo passa nel modo corretto e non capisco proprio come fare

Per farvi capire meglio:

Codice PHP:

function formatText($text){
    return 
$text;
}

$string "{TEXT: testo da convertire}";

$string preg_replace("/({TEXT: )(.+?)(})/i"formatText("$2"), $string);

echo 
$string//mostra "testo da convertire"; 
mentre

Codice PHP:
function formatTexts($text){
    return 
strlen($text);
}

$string "{TEXT: testo da convertire}";

$string preg_replace("/({TEXT: )(.+?)(})/i"formatTexts("$2"), $string);

echo 
$string//ritorna 2, che sarebbe la lunghezza della stringa "$2" 
Qualche idea?