一样做,只是preg_replace是按数组元素的顺序进行配对的
<?php
$p = array(a=>"/a/",b=>"/b/");
$r = array(b=>"A",a=>"B");
echo preg_replace($p,$r,"abab"); //out ABAB
ksort($r);
echo preg_replace($p,$r,"abab"); //out BABA
?>
<?php
$p = array(a=>"/a/",b=>"/b/");
$r = array(b=>"A",a=>"B");
echo preg_replace($p,$r,"abab"); //out ABAB
ksort($r);
echo preg_replace($p,$r,"abab"); //out BABA
?>
$a = array("a"=>"{$a}","b"=>"{$b}",c="{$c}");
$b = array("a"=>"aaaa","b"=>"bbbb",c="cccc");
$template = "{\$a} AND {\$b} AND {\$c}";
要把$template 里面的{$a} {$b} {$c}替换为"aaaa" "bbbb" "cccc"应该怎么写呢?echo preg_replace($a,$b,$template); //这样不行
$a = array(a=>"{\$a}",b=>"{\$b}",c=>"{\$c}");
$b = array("a"=>"aaaa","b"=>"bbbb",c=>"cccc");
$template = "{\$a} AND {\$b} AND {\$c}";//把数组$a加工成格式串
foreach($a as $k=>$v)
$a[$k] = "/".preg_quote($v)."/";echo preg_replace($a,$b,$template);
?>