C'est ce que je veux faire:preg_replace passe par correspondance avant de remplacer la fonction
$line = 'blabla translate("test") blabla';
$line = preg_replace("/(.*?)translate\((.*?)\)(.*?)/","$1".translate("$2")."$3",$line);
Ainsi, le résultat devrait être que traduire (« test ») est remplacé par la traduction de « test ».
Le problème est que translate ("$ 2") passe la chaîne "$ 2" à la fonction translate. Donc translate() essaie de traduire "$ 2" au lieu de "test".
Existe-t-il un moyen de transmettre la valeur de la correspondance à une fonction avant de la remplacer?
+1 beaucoup mieux :) – codaddict