首頁 > 後端開發 > php教程 > php preg_replace问题

php preg_replace问题

WBOY
發布: 2016-06-06 20:50:47
原創
1035 人瀏覽過

$app_str = "#aa#";
$aa = "test";

$app_str = preg_replace( "/#([^#]+)#/ie", "\\1", $app_str );  
登入後複製
登入後複製

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

foreach( $_POST as $K => $v ){
// 怎样定义变量 名字 为 $K 值为  $v
}
登入後複製
登入後複製

回复内容:

$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() 来实现 ...

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

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板