заменить совпадающую строку на соответствующую

олучить доступ к совпадениям в preg_replace в качестве полезной переменной? Вот мой пример кода:

<?php
$body = <<<EOT
Thank you for registering at <!-- site_name -->

Your username is: <!-- user_name -->

<!-- signature -->
EOT;

$value['site_name'] = "www.thiswebsite.com";
$value['user_name'] = "user_123";

$value['signature'] = <<<EOT
live long and prosper
EOT;

//echo preg_replace("/<!-- (#?\w+) -->/i", "[$1]", $body);
echo preg_replace("/<!-- (#?\w+) -->/i", $value[$1], $body);
?>

Я получаю следующее сообщение об ошибке:

Ошибка разбора: синтаксическая ошибка, неожиданный '$2$#39;, ожидание T_STRING или T_VARIABLE в строке 18

Вышеупомянутая отмеченная строка с «[$ i]» прекрасно работает, когда переменная соответствия заключена в кавычки. Я пропускаю немного синтаксиса?

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

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