您好,匿名用户
随意问技术百科期待您的加入

php preg_replace问题

0 投票
$app_str = "#aa#";
$aa = "test";

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

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

foreach( $_POST as $K => $v ){
// 怎样定义变量 名字 为 $K 值为  $v
}
用户头像 提问 2014年 2月3日 @ Fiddlesticks 上等兵 (242 威望)
分享到:

1个回答

0 投票

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

如果你的目的是想把 #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() 来实现 ...

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

用户头像 回复 2014年 2月3日 @ Twitch 上等兵 (260 威望)
提一个问题:

相关问题

0 投票
1 回复 41 阅读
用户头像 提问 2013年 10月3日 @ Olaf 上等兵 (366 威望)
0 投票
1 回复 33 阅读
用户头像 提问 2013年 9月12日 @ Lux 上等兵 (267 威望)
0 投票
1 回复 1,638 阅读
0 投票
1 回复 31 阅读
用户头像 提问 2013年 11月8日 @ Swain 上等兵 (232 威望)
0 投票
1 回复 26 阅读
用户头像 提问 2013年 11月7日 @ Caitlyn 上等兵 (452 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...