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

 >  기사  >  백엔드 개발  >  关于查找,替换,请

关于查找,替换,请

WBOY
WBOY원래의
2016-06-13 12:18:41776검색

关于查找,替换,请高手指点
$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 />

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.