"发现","W2"=>"外星人","W3"=>"加州"); $str="中国{W1},了一个{W2},但在美国的{W3}也发现了";输出:中国发现,了一个外星人,但在美国的加州也发现了">
当前位置:Gxlcms > PHP教程 > 关于查找,替换,请

关于查找,替换,请

时间:2021-07-01 10:21:17 帮助过:29人阅读

关于查找,替换,请高手指点
$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; //中国发现,了一个外星人,但在美国的加州也发现了

人气教程排行