字符串替换,如何能做到双向替换?
最近要做一个同义词替换的功能,因为是同义词,所以最好是能双向替换,比如“拜会”和“拜见”,在字符串中出现任何一个都要能替换成另一个。
通常用str_replace只能单向替换,不能实现双向替换。
尝试了一下把同义词做成数组再用str_replace替换,结果却不正确。
$find = array(拜会,拜见);
$replace = array(拜见,拜会);
$arr = array(拜会和拜见);
str_replace($find,$replace,$arr);
结果是:拜会和拜会。
问题是怎么样才能使最后的替换结果是“拜见和拜会”?
------解决方案--------------------
改动一下
php code$find = array(拜会,拜见);$replace = array(拜见,拜会);$str = 拜会和拜见;echo strtr($str, array_combine($find, $replace));
