PHP汉字转换拼音-PHP源码
='5.0') ? array_combine($_TDataKey, $_TDataValue) : $this->Arr_Combine($_TDataKey, $_TDataValue);
arsort($_Data);
reset($_Data);
if($_Code != 'gb2312') $_String = $this->U2_Utf8_Gb($_String);
$_Res = '';
for($i=0; $i160) { $_Q = ord(substr($_String, ++$i, 1)); $_P = $_P*256 + $_Q - 65536; }
$_Res .= $this->Pinyins($_P, $_Data);
}
return $_Res;
//return preg_replace("/[^a-z0-9]*/", '', $_Res);
}
function Pinyins($_Num, $_Data){
if ($_Num>0 && $_Num<160 ) return chr($_Num);
elseif($_Num-10247) return '';
else {
foreach($_Data as $k=>$v){ if($v<=$_Num) break; }
return $k;
}
}
function U2_Utf8_Gb($_C){
$_String = '';
if($_C < 0x80){
$_String .= $_C;
}elseif($_C < 0x800){
$_String .= chr(0xC0 | $_C>>6);
$_String .= chr(0x80 | $_C & 0x3F);
}elseif($_C < 0x10000){
$_String .= chr(0xE0 | $_C>>12);
$_String .= chr(0x80 | $_C>>6 & 0x3F);
$_String .= chr(0x80 | $_C & 0x3F);
}elseif($_C < 0x200000) {
$_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 Arr_Combine($_Arr1, $_Arr2){
for($i=0; $iPinyin(' 中 华 人 民','UTF8');
?>
/php/35268.htmlwww.phpzy.comtrue/php/35268.htmlTechArticlePHP汉字转换拼音-PHP源码 =5.0) ? array_combine($_TDataKey, $_TDataValue) : $this->Arr_Combine($_TDataKey, $_TDataValue);arsort($_Data);reset($_Data);if($_Code != gb2312) $_String = $this->U2_Utf8_Gb($_String);$_Res = ;for($i=0; $i160...
PHP之友评论