【发布时间】:2011-03-01 22:12:43
【问题描述】:
如何将 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);
?>
我不断收到以下错误消息:
解析错误:语法错误,意外 '$',期望 T_STRING 或 T_VARIABLE 第 18 行
当匹配变量包含在引号中时,上面带有“[$i]”的注释行可以正常工作。我缺少一些语法吗?
【问题讨论】: