= '5.0') ? array_combine($_tdatakey, $_tdatavalue) : _array_combine($_tdatakey, $_tdatavalue);
arsort($_data);
reset($_data);
if ($_code != 'gb2312')
$_string = _u2_utf8_gb($_string);
$_res = '';
for ($i = 0; $i $_p = ord(substr($_string, $i, 1));
if ($_p > 160) {
$_q = ord(substr($_string, ++$i, 1));
$_p = $_p * 256 + $_q - 65536;
}
$_res .= _pinyin($_p, $_data);
}
return preg_replace(/[^a-z0-9]*/, '', $_res);
}
function _pinyin($_num, $_data) {
if ($_num > 0 && $_num return chr($_num);
elseif ($_num -10247)
return '';
else {
foreach ($_data as $k => $v) {
if ($v break;
}
return $k;
}
}
function _u2_utf8_gb($_c) {
$_string = '';
if ($_c $_string .= $_c;
elseif ($_c $_string .= chr(0xc0 | $_c >> 6);
$_string .= chr(0x80 | $_c & 0x3f);
} elseif ($_c $_string .= chr(0xe0 | $_c >> 12);
$_string .= chr(0x80 | $_c >> 6 & 0x3f);
$_string .= chr(0x80 | $_c & 0x3f);
} elseif ($_c $_string .= chr(0xf0 | $_c >> 18);
$_string .= chr(0x80 | $_c >> 12 & 0x3f);
$_string .= chr(0x80 | $_c >> 6 & 0x3f);
$_string .= chr(0x80 | $_c & 0x3f);
}
return iconv('utf-8', 'gb2312', $_string);
}
function _array_combine($_arr1, $_arr2) {
for ($i = 0; $i $_res[$_arr1[$i]] = $_arr2[$i];
return $_res;
}
http://www.bkjia.com/phpjc/444812.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/444812.htmltecharticle?php教程 function cn2pinyin($_string, $_code='gb2312') { $_datakey = a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|c...