Как сделать это наоборот - вместо поиска всех {{...}}
заполнителей и поиска их значений, итерации по всем значениям и замены заполнителей, которые соответствуют следующим образом:
foreach ($text as $key => $value) {
$placeholder = sprintf('{{%s}}', $key);
$body = str_replace($placeholder, $value, $body);
}
Вы можете даже включите его в функцию:
function populatePlaceholders($body, array $vars)
{
foreach ($vars as $key => $value) {
$placeholder = sprintf('{{%s}}', $key);
$body = str_replace($placeholder, $value, $body);
}
return $body;
}