关于查找,替换,请高手指点
$a=array(w1=>发现,w2=>外星人,w3=>加州);
$str=中国{w1},了一个{w2},但在美国的{w3}也发现了;
输出:中国发现,了一个外星人,但在美国的加州也发现了
------解决思路----------------------
$a = array(w1=>发现,w2=>外星人,w3=>加州);
$str = 中国{w1},了一个{w2},但在美国的{w3}也发现了;
//本来 php 提供的 strtr 函数可以轻松的完成此工作。但你蛇足了一对{},就不理想了
echo strtr($str, $a); //中国{发现},了一个{外星人},但在美国的{加州}也发现了
//继续使用 strtr 函数的话,可以
foreach($a as $k=>$v) $b[{{$k}}] = $v;
echo strtr($str, $b); //中国发现,了一个外星人,但在美国的加州也发现了
//当然你也可以使用 str_replace 或 preg_replace 函数
foreach($a as $k=>$v) {
$str = str_replace({{$k}}, $v, $str);
}
echo $str; //中国发现,了一个外星人,但在美国的加州也发现了
foreach($a as $k=>$v) {
$str = preg_replace(/{{$k}}/, $v, $str);
}
echo $str; //中国发现,了一个外星人,但在美国的加州也发现了