"发现","W2"=>"外星人","W3"=>"加州"); $str="中国{W1},了一个{W2},但在美国的{W3}也发现了";输出:中国发现,了一个外星人,但在美国的加州也发现了------解决思路----------------------$a =&nb"/> "发现","W2"=>"外星人","W3"=>"加州"); $str="中国{W1},了一个{W2},但在美国的{W3}也发现了";输出:中国发现,了一个外星人,但在美国的加州也发现了------解决思路----------------------$a =&nb">

Home  >  Article  >  Backend Development  >  关于查找,替换,请

关于查找,替换,请

WBOY
WBOYOriginal
2016-06-13 12:18:41810browse

关于查找,替换,请高手指点
$a=array("W1"=>"发现","W2"=>"外星人","W3"=>"加州");
 $str="中国{W1},了一个{W2},但在美国的{W3}也发现了";

输出:中国发现,了一个外星人,但在美国的加州也发现了
------解决思路----------------------

$a = array("W1"=>"发现","W2"=>"外星人","W3"=>"加州");<br />$str = "中国{W1},了一个{W2},但在美国的{W3}也发现了";<br /><br />//本来 php 提供的 strtr 函数可以轻松的完成此工作。但你蛇足了一对{},就不理想了<br />echo strtr($str, $a); //中国{发现},了一个{外星人},但在美国的{加州}也发现了<br /><br />//继续使用 strtr 函数的话,可以<br />foreach($a as $k=>$v) $b["{{$k}}"] = $v;<br />echo strtr($str, $b); //中国发现,了一个外星人,但在美国的加州也发现了<br /><br />//当然你也可以使用 str_replace 或 preg_replace 函数<br />foreach($a as $k=>$v) {<br />  $str = str_replace("{{$k}}", $v, $str);<br />}<br />echo $str; //中国发现,了一个外星人,但在美国的加州也发现了<br /><br />foreach($a as $k=>$v) {<br />  $str = preg_replace("/{{$k}}/", $v, $str);<br />}<br />echo $str; //中国发现,了一个外星人,但在美国的加州也发现了<br />

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn