Замена переменных в строке

Я работаю над многоязычным веб-сайтом на PHP, и в моих языковых файлах у меня часто есть строки, которые содержат несколько переменных, которые будут позже заполнены для завершения предложений.

В настоящее время я размещаю{VAR_NAME} в строке и вручную заменяя каждый вхождение соответствующим значением при использовании.

Итак, в основном:

{X} created a thread on {Y}

становится:

Dany created a thread on Stack Overflow

Я уже думал оsprintf но я нахожу это неудобным, потому что это зависит от порядка переменных, которые могут меняться от языка к другому.

И я уже проверилКак заменить переменную в строке значением в php? и сейчас я в основном использую этот метод.

Но мне интересно знать, есть ли в PHP удобный (или, возможно, нет) удобный способ сделать это, учитывая, что у меня уже есть переменные, названные точно так же, как X и Y в предыдущем примере, больше похоже на $ для переменной переменной ,

Так что вместо того, чтобы делать str_replace для строки, я мог бы вызвать такую функцию:

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

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

также распечатал бы:

Dany created a thread on Stack Overflow

Спасибо!

редактировать

Строки служат шаблонами и могут использоваться несколько раз с разными входами.

Так в основном делают"{$X} ... {$Y}" не будет делать трюк, потому что я потеряю шаблон, и строка будет инициализирована с начальными значениями$X а также$Y которые еще не определены.

Ответы на вопрос(12)

Ваш ответ на вопрос