PHPで複数の一括置換がしたい…
こんなお悩み、普通のPHPerなら悩む必要ないよね。あーあ、なんで今まで気がつかなかったんだろう。アホすぎる。普通にstr_replace() で実現可能じゃないか。置換対象に配列指定可能。
$str = 'iPad欲しい。Xperia欲しい。お金欲しい。';
$search = array('iPad','Xperia','お金');
echo str_replace($search,'彼女',$str);
#=> 彼女欲しい。彼女欲しい。彼女欲しい。
$str = 'iPad欲しい。Xperia欲しい。お金欲しい。';
$search = array('iPad','Xperia','お金');
$replace = array('あれも','これも','もっともっと');
echo str_replace($search,$replace,$str);
#=> あれも欲しい。これも欲しい。もっともっと欲しい。
置換する順序
配列で複数指定した場合の置換する順序は、配列の一番上から。つまり左から右へ。
$str = 'a';
$search = array('a','b','c');
$replace = array('b','c','d');
echo str_replace($search,$replace,$str);
#=> d