Как сделать замену токенов в строке по ключам из массива?

$array = array('user'=>'Петя','time'=>'45','what'=>'Хорошо');
$message = '[user] любит прыгать на батуте [time] минут.  Это очень [what]';


Как получить текст?:
Петя любит прыгать на батуте 45 минут. Это очень Хорошо

Надо ob_start(); и ob_end_flush(); использовать?
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
0xD34F
@0xD34F
echo preg_replace_callback('~\[(.+?)\]~', fn($m) => $array[$m[1]] ?? $m[0], $message);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы