array("Ta",-13318),
array("Tai",-13147),
array("Tan",-13138),
array("Tang",-13120),
array("Tao",-13107),
array("Te",-13096),
array("Teng",-13095),
array("Ti",-13091),
array("Tian",-13076),
array("Tiao",-13068),
array("Tie",-13063),
array("Ting",-13060),
array("Tong",-12888),
array("Tou",-12875),
array("Tu",-12871),
array("Tuan",-12860),
array("Tui",-12858),
array("Tun",-12852),
array("Tuo",-12849),
array("Wa",-12838),
array("Wai",-12831),
array("Wan",-12829),
array("Wang",-12812),
array("Wei",-12802),
array("Wen",-12607),
array("Weng",-12597),
array("Wo",-12594),
array("Wu",-12585),
array("Xi",-12556),
array("Xia",-12359),
array("Xian",-12346),
array("Xiang",-12320),
array("Xiao",-12300),
array("Xie",-12120),
array("Xin",-12099),
array("Xing",-12089),
array("Xiong",-12074),
array("Xiu",-12067),
array("Xu",-12058),
array("Xuan",-12039),
array("Xue",-11867),
array("Xun",-11861),
array("Ya",-11847),
array("Yan",-11831),
array("Yang",-11798),
array("Yao",-11781),
array("Ye",-11604),
array("Yi",-11589),
array("Yin",-11536),
array("Ying",-11358),
array("Yo",-11340),
array("Yong",-11339),
array("You",-11324),
array("Yu",-11303),
array("Yuan",-11097),
array("Yue",-11077),
array("Yun",-11067),
array("Za",-11055),
array("Zai",-11052),
array("Zan",-11045),
array("Zang",-11041),
array("Zao",-11038),
array("Ze",-11024),
array("Zei",-11020),
array("Zen",-11019),
array("Zeng",-11018),
array("ZHa",-11014),
array("ZHai",-10838),
array("ZHan",-10832),
array("ZHang",-10815),
array("ZHao",-10800),
array("ZHe",-10790),
array("ZHen",-10780),
array("ZHeng",-10764),
array("ZHi",-10587),
array("ZHong",-10544),
array("ZHou",-10533),
array("ZHu",-10519),
array("ZHua",-10331),
array("ZHuai",-10329),
array("ZHuan",-10328),
array("ZHuang",-10322),
array("ZHui",-10315),
array("ZHun",-10309),
array("ZHuo",-10307),
array("Zi",-10296),
array("Zong",-10281),
array("Zou",-10274),
array("Zu",-10270),
array("Zuan",-10262),
array("Zui",-10260),
array("Zun",-10256),
array("Zuo",-10254)
); function HZCode2PY($num){
global $PYTable;
if($num>0&&$num<160){
return chr($num);
}
elseif($num<-20319||$num>-10247){
return "";
}else{
for($i=count($PYTable)-1;$i>=0;$i--){if($PYTable[$i][1]<=$num)break;}
return strtoupper($PYTable[$i][0]);
}
}//中文字符串转换为拼音
function HZ2PY($HZstr){
$ret="";
for($i=0;$i<strlen($HZstr);$i++){
$HZCode=ord(substr($HZstr,$i,1));
if($HZCode>160){
$HZCodeSecond=ord(substr($HZstr,++$i,1));
$HZCode=$HZCode*256+$HZCodeSecond-65536;
}
$ret.=HZCode2PY($HZCode);
}
return $ret;
}//中文字符串转换为拼音和韵母索引 (返回数组)
function HZ2PYIdx($HZstr){
$ret[0]="";
$ret[1]="";
for($i=0;$i<strlen($HZstr);$i++){
$HZCode=ord(substr($HZstr,$i,1));
if($HZCode>160){
$HZCodeSecond=ord(substr($HZstr,++$i,1));
$HZCode=$HZCode*256+$HZCodeSecond-65536;
}
$PY=HZCode2PY($HZCode);
$ret[0].=$PY;
$ret[1].=substr($PY,0,1);
}
return $ret;
}例子:echo HZ2PY("你好啊"); // print NIHAOAR
$array=HZ2PYIdx("你好阿");
echo $array[0];//print NIHAOAR
echo $array[1];//print NHA
array("Tai",-13147),
array("Tan",-13138),
array("Tang",-13120),
array("Tao",-13107),
array("Te",-13096),
array("Teng",-13095),
array("Ti",-13091),
array("Tian",-13076),
array("Tiao",-13068),
array("Tie",-13063),
array("Ting",-13060),
array("Tong",-12888),
array("Tou",-12875),
array("Tu",-12871),
array("Tuan",-12860),
array("Tui",-12858),
array("Tun",-12852),
array("Tuo",-12849),
array("Wa",-12838),
array("Wai",-12831),
array("Wan",-12829),
array("Wang",-12812),
array("Wei",-12802),
array("Wen",-12607),
array("Weng",-12597),
array("Wo",-12594),
array("Wu",-12585),
array("Xi",-12556),
array("Xia",-12359),
array("Xian",-12346),
array("Xiang",-12320),
array("Xiao",-12300),
array("Xie",-12120),
array("Xin",-12099),
array("Xing",-12089),
array("Xiong",-12074),
array("Xiu",-12067),
array("Xu",-12058),
array("Xuan",-12039),
array("Xue",-11867),
array("Xun",-11861),
array("Ya",-11847),
array("Yan",-11831),
array("Yang",-11798),
array("Yao",-11781),
array("Ye",-11604),
array("Yi",-11589),
array("Yin",-11536),
array("Ying",-11358),
array("Yo",-11340),
array("Yong",-11339),
array("You",-11324),
array("Yu",-11303),
array("Yuan",-11097),
array("Yue",-11077),
array("Yun",-11067),
array("Za",-11055),
array("Zai",-11052),
array("Zan",-11045),
array("Zang",-11041),
array("Zao",-11038),
array("Ze",-11024),
array("Zei",-11020),
array("Zen",-11019),
array("Zeng",-11018),
array("ZHa",-11014),
array("ZHai",-10838),
array("ZHan",-10832),
array("ZHang",-10815),
array("ZHao",-10800),
array("ZHe",-10790),
array("ZHen",-10780),
array("ZHeng",-10764),
array("ZHi",-10587),
array("ZHong",-10544),
array("ZHou",-10533),
array("ZHu",-10519),
array("ZHua",-10331),
array("ZHuai",-10329),
array("ZHuan",-10328),
array("ZHuang",-10322),
array("ZHui",-10315),
array("ZHun",-10309),
array("ZHuo",-10307),
array("Zi",-10296),
array("Zong",-10281),
array("Zou",-10274),
array("Zu",-10270),
array("Zuan",-10262),
array("Zui",-10260),
array("Zun",-10256),
array("Zuo",-10254)
); function HZCode2PY($num){
global $PYTable;
if($num>0&&$num<160){
return chr($num);
}
elseif($num<-20319||$num>-10247){
return "";
}else{
for($i=count($PYTable)-1;$i>=0;$i--){if($PYTable[$i][1]<=$num)break;}
return strtoupper($PYTable[$i][0]);
}
}//中文字符串转换为拼音
function HZ2PY($HZstr){
$ret="";
for($i=0;$i<strlen($HZstr);$i++){
$HZCode=ord(substr($HZstr,$i,1));
if($HZCode>160){
$HZCodeSecond=ord(substr($HZstr,++$i,1));
$HZCode=$HZCode*256+$HZCodeSecond-65536;
}
$ret.=HZCode2PY($HZCode);
}
return $ret;
}//中文字符串转换为拼音和韵母索引 (返回数组)
function HZ2PYIdx($HZstr){
$ret[0]="";
$ret[1]="";
for($i=0;$i<strlen($HZstr);$i++){
$HZCode=ord(substr($HZstr,$i,1));
if($HZCode>160){
$HZCodeSecond=ord(substr($HZstr,++$i,1));
$HZCode=$HZCode*256+$HZCodeSecond-65536;
}
$PY=HZCode2PY($HZCode);
$ret[0].=$PY;
$ret[1].=substr($PY,0,1);
}
return $ret;
}例子:echo HZ2PY("你好啊"); // print NIHAOAR
$array=HZ2PYIdx("你好阿");
echo $array[0];//print NIHAOAR
echo $array[1];//print NHA
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货