C'est vrai que php 5.2 c'est pas tout jeune. Ce que tu peux faire pour éviter la closure, c'est simplement d'écrire la fonction et de passer son nom en paramètre à preg_replace_callback (ça marche...