Si tu veux utiliser un replace utilise plutôt str_replace, moins gourmand, et tu n'a pas besoin d'expression régulière ici, par exemple :
$message = str_replace('${montant}', $montant, 'Total: ${montant} !');
Mais je pense vraiment que sprintf est plus adapté dans ton cas, car avec str_replace ou preg_replace tu vadevoir le faire plusieurs fois, au cas par cas pour chaque message, alors que avec sprintf ou printf, tu n'a qu'a récupérer ton message, puis utiliser sprintf quand tu sait qu'il y à un variable (d’ailleurs la plupart des systèmes de traduction fonctionnent comme ça).
Partager