正则替换的问题

字符串 = 12#{店铺dagf称}gds#{奋斗区}sffd#{店盖饭}fdf#{奋斗}fsa

用正则替换成
12{$var1}gds{$var2}sffd{$var3}fdf{$var4}fsa

如何做到.

阅读 2k
2 个回答
$count = 0;
$str   = '12#{店铺dagf称}gds#{奋斗区}sffd#{店盖饭}fdf#{奋斗}fsa';
$str   = preg_replace_callback('/#\{[^}]*\}/', function() use (&$count) {
    return '{$var' . ++$count . '}';
}, $str);
print_r($str);

运行结果:

12{$var1}gds{$var2}sffd{$var3}fdf{$var4}fsa
var index = 0;
var str = "12#{店铺dagf称}gds#{奋斗区}sffd#{店盖饭}fdf#{奋斗}fsa";
var reg = /#{[^}]*}/g;
str.replace(reg, function() {
    return "{$var" + ++index + "}";
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题