Reemplazo de variables en una cadena

Estoy trabajando en un sitio web multilingüe en PHP y en mis archivos de idiomas a menudo tengo cadenas que contienen múltiples variables que luego se completarán para completar las oraciones.

Actualmente estoy colocando{VAR_NAME} en la cadena y reemplazando manualmente cada aparición con su valor coincidente cuando se usa.

Así que básicamente :

{X} created a thread on {Y}

se convierte en:

Dany created a thread on Stack Overflow

Ya he pensado ensprintf pero me parece incómodo porque depende del orden de las variables que pueden cambiar de un idioma a otro.

Y ya lo he comprobado.¿Cómo reemplazar variable en cadena con valor en php? y por ahora básicamente uso este método.

Pero estoy interesado en saber si hay una forma conveniente incorporada (o tal vez no) en PHP para hacerlo teniendo en cuenta que ya tengo variables nombradas exactamente como X e Y en el ejemplo anterior, más como $ para una variable .

Entonces, en lugar de hacer str_replace en la cadena, tal vez llamaría una función así:

$X = 'Dany';
$Y = 'Stack Overflow';
$lang['example'] = '{X} created a thread on {Y}';

echo parse($lang['example']);

También imprimiría:

Dany created a thread on Stack Overflow

¡Gracias!

Editar

Las cadenas sirven como plantillas y se pueden usar varias veces con diferentes entradas.

Así que básicamente haciendo"{$X} ... {$Y}" no hará el truco porque perderé la plantilla y la cadena se inicializará con los valores iniciales de$X y$Y que aún no están determinados.

Respuestas a la pregunta(12)

Su respuesta a la pregunta