php 字符串替换常用str_replace函数,但这个函数会对一个字符串进行多次替换,比如
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);
// 输出 F ,因为 A 被 B 替换,B 又被 C 替换,以此类推...
// 由于从左到右依次替换,最终 E 被 F 替换
而要避免这个,可以使用strtr这个函数代替。如:
$replace = array('A'=>'B','B'=>'C','C'=>'D','D'=>'E','E'=>'F');
$subject = 'A';
echo strtr($subject, $replace);
//输出B,只进行了一次替换。
相关博文
php字符串替换的问题