我正在寻找一款适用于PHP的UTF-8兼容的strtr工具。
function strtr_utf8($str, $from, $to) {
$keys = array();
$values = array();
preg_match_all('/./u', $from, $keys);
preg_match_all('/./u', $to, $values);
$mapping = array_combine($keys[0], $values[0]);
return strtr($str, $mapping);
}
function strtr_utf8($str, $from, $to) { $keys = array(); $values = array(); if(!is_array($from)) { // 将字符串按 Unicode 字符分割成数组 preg_match_all('/./u', $from, $keys); preg_match_all('/./u', $to, $values); // 将两个数组合并成一个键值对应的数组 $mapping = array_combine($keys[0], $values[0]); }else $mapping=$from; // 使用键值对应的数组替换字符串中的字符 return strtr($str, $mapping); }
我稍微修改了joeforker的函数,以便将第二个参数作为替换对数组返回。