Variablen in einer Zeichenfolge ersetzen

Ich arbeite an einer mehrsprachigen Website in PHP und in meinen Sprachdateien habe ich oft Strings, die mehrere Variablen enthalten, die später ausgefüllt werden, um die Sätze zu vervollständigen.

Derzeit platziere ich{VAR_NAME} in der Zeichenfolge und manuelles Ersetzen jedes Vorkommens durch seinen übereinstimmenden Wert, wenn verwendet.

Also im Grunde genommen :

{X} created a thread on {Y}

wird :

Dany created a thread on Stack Overflow

Ich habe schon darüber nachgedachtsprintf aber ich finde es unbequem, weil es von der Reihenfolge der Variablen abhängt, die sich von einer Sprache in eine andere ändern können.

Und ich habe schon nachgesehenWie ersetze ich eine Variable in einem String durch einen Wert in PHP? und jetzt benutze ich im Grunde diese Methode.

Aber ich bin daran interessiert zu wissen, ob es in PHP eine integrierte (oder möglicherweise nicht) bequeme Möglichkeit gibt, dies zu tun, wenn man bedenkt, dass ich bereits Variablen habe, die im vorherigen Beispiel genau als X und Y bezeichnet wurden, eher wie $ für eine Variablenvariable .

Anstatt str_replace für den String auszuführen, würde ich vielleicht eine Funktion wie die folgende aufrufen:

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

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

würde auch ausdrucken:

Dany created a thread on Stack Overflow

Vielen Dank!

Bearbeiten

Die Zeichenfolgen dienen als Vorlagen und können mehrfach mit unterschiedlichen Eingaben verwendet werden.

Also im Grunde tun"{$X} ... {$Y}" Ich mache den Trick nicht, weil ich die Vorlage verliere und die Zeichenfolge mit den Startwerten von initialisiert wird$X und$Y die noch nicht bestimmt sind.