php preg_replace问题

$app_str = "#aa#";
$aa = "test"; $app_str = preg_replace "/#[^#]+#/ie", "\1", $app_str ; 

怎样替换成 \1 对应的变量的值呢

foreach $_POST as $K => $v {
// 怎样定义变量 名字 为 $K 值为 $v
}

我琢磨了半天你的表达 … 大概理解了一点不知道对不对 …

如果你的目的是想把 #aa# 这个语法替换成变量 $aa 的值 …

那么其实你已经离成功很近了 … 确切说只有一个字符的距离 …

$app_str = "#aa#";
$aa = "test"; $app_str = preg_replace "/#[^#]+#/ie", "$\1", $app_str ; 

但是你的写法有一个问题就是 PREG_REPLACE_EVAL 这个修饰符 …

也就是 e … 会在 php 5.5.0 之后被 DEPRECATED …

所以我的建议是上面的代码虽然可以用 … 但考虑到未来 … 还是推荐用 preg_replace_callback 来实现 …

示例代码我先不写了 … 你自己研究一下呗 …

发表评论

电子邮件地址不会被公开。 必填项已用*标注