заменить совпадающую строку на соответствующую
олучить доступ к совпадениям в 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]» прекрасно работает, когда переменная соответствия заключена в кавычки. Я пропускаю немного синтаксиса?