如何用正则表达式匹配正则表达式?

在一个长长的字符串中有这么几个东西:
{$var},{$wtf},{$mdzz}
我想通过一个preg_replace把它们分别替换成

<?php echo $var;?>
<?php echo $wtf;?>
<?php echo $mdzz;?>

该怎么写这正则表达式?

阅读 4k
3 个回答

使用如下匹配替换:
$msg = preg_replace("/{$var}/g", '<?php echo $var;?>', $msg);

单引号' 中的代码不会被解析。

preg_replace('/{\$([a-zA-Z]+)}/','<?php echo \$${1}; ?>',$filestr);

为什么要这样做呢? echo "{$a},{$b},{$c}"

echo $a; 
echo ','; 
echo $b; 
echo ','; 
echo $c;

是完全等价的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题