PHP 实现汉字转拼音的方法

经测试代码如下:

<?PHP
$d=array(
array(a,-20319),array(ai,-20317),array(an,-20304),array(ang,-20295),array(ao,-20292),array(ba,-20283),array(bai,-20265),array(ban,-20257),array(bang,-20242),array(bao,-20230),array(bei,-20051),array(ben,-20036),array(beng,-20032),array(bi,-20026),array(bian,-20002),array(biao,-19990),array(bie,-19986),array(bin,-19982),array(bing,-19976),array(bo,-19805),array(bu,-19784),array(ca,-19775),array(cai,-19774),array(can,-19763),array(cang,-19756),array(cao,-19751),array(ce,-19746),array(ceng,-19741),array(cha,-19739),array(chai,-19728),array(chan,-19725),array(chang,-19715),array(chao,-19540),array(che,-19531),array(chen,-19525),array(cheng,-19515),array(chi,-19500),array(chong,-19484),array(chou,-19479),array(chu,-19467),array(chuai,-19289),array(chuan,-19288),array(chuang,-19281),array(chui,-19275),array(chun,-19270),array(chuo,-19263),array(ci,-19261),array(cong,-19249),array(cou,-19243),array(cu,-19242),array(cuan,-19238),array(cui,-19235),array(cun,-19227),array(cuo,-19224),array(da,-19218),array(dai,-19212),array(dan,-19038),array(dang,-19023),array(dao,-19018),array(de,-19006),array(deng,-19003),array(di,-18996),array(dian,-18977),array(diao,-18961),array(die,-18952),array(ding,-18783),array(diu,-18774),array(dong,-18773),array(dou,-18763),array(du,-18756),array(duan,-18741),array(dui,-18735),array(dun,-18731),array(duo,-18722),array(e,-18710),array(en,-18697),array(er,-18696),array(fa,-18526),array(fan,-18518),array(fang,-18501),array(fei,-18490),array(fen,-18478),array(feng,-18463),array(fo,-18448),array(fou,-18447),array(fu,-18446),array(ga,-18239),array(gai,-18237),array(gan,-18231),array(gang,-18220),array(gao,-18211),array(ge,-18201),array(gei,-18184),array(gen,-18183),array(geng,-18181),array(gong,-18012),array(gou,-17997),array(gu,-17988),array(gua,-17970),array(guai,-17964),array(guan,-17961),array(guang,-17950),array(gui,-17947),array(gun,-17931),array(guo,-17928),array(ha,-17922),array(hai,-17759),array(han,-17752),array(hang,-17733),array(hao,-17730),array(he,-17721),array(hei,-17703),array(hen,-17701),array(heng,-17697),array(hong,-17692),array(hou,-17683),array(hu,-17676),array(hua,-17496),array(huai,-17487),array(huan,-17482),array(huang,-17468),array(hui,-17454),array(hun,-17433),array(huo,-17427),array(ji,-17417),array(jia,-17202),array(jian,-17185),array(jiang,-16983),array(jiao,-16970),array(jie,-16942),array(jin,-16915),array(jing,-16733),array(jiong,-16708),array(jiu,-16706),array(ju,-16689),array(juan,-16664),array(jue,-16657),array(jun,-16647),array(ka,-16474),array(kai,-16470),array(kan,-16465),array(kang,-16459),array(kao,-16452),array(ke,-16448),array(ken,-16433),array(keng,-16429),array(kong,-16427),array(kou,-16423),array(ku,-16419),array(kua,-16412),array(kuai,-16407),array(kuan,-16403),array(kuang,-16401),array(kui,-16393),array(kun,-16220),array(kuo,-16216),array(la,-16212),array(lai,-16205),array(lan,-16202),array(lang,-16187),array(lao,-16180),array(le,-16171),array(lei,-16169),array(leng,-16158),array(li,-16155),array(lia,-15959),array(lian,-15958),array(liang,-15944),array(liao,-15933),array(lie,-15920),array(lin,-15915),array(ling,-15903),array(liu,-15889),array(long,-15878),array(lou,-15707),array(lu,-15701),array(lv,-15681),array(luan,-15667),array(lue,-15661),array(lun,-15659),array(luo,-15652),array(ma,-15640),array(mai,-15631),array(man,-15625),array(mang,-15454),array(mao,-15448),array(me,-15436),array(mei,-15435),array(men,-15419),array(meng,-15416),array(mi,-15408),array(mian,-15394),array(miao,-15385),array(mie,-15377),array(min,-15375),array(ming,-15369),array(miu,-15363),array(mo,-15362),array(mou,-15183),array(mu,-15180),array(na,-15165),array(nai,-15158),array(nan,-15153),array(nang,-15150),array(nao,-15149),array(ne,-15144),array(nei,-15143),array(nen,-15141),array(neng,-15140),array(ni,-15139),array(nian,-15128),array(niang,-15121),array(niao,-15119),array(nie,-15117),array(nin,-15110),array(ning,-15109),array(niu,-14941),array(nong,-14937),array(nu,-14933),array(nv,-14930),array(nuan,-14929),array(nue,-14928),array(nuo,-14926),array(o,-14922),array(ou,-14921),array(pa,-14914),array(pai,-14908),array(pan,-14902),array(pang,-14894),array(pao,-14889),array(pei,-14882),array(pen,-14873),array(peng,-14871),array(pi,-14857),array(pian,-14678),array(piao,-14674),array(pie,-14670),array(pin,-14668),array(ping,-14663),array(po,-14654),array(pu,-14645),array(qi,-14630),array(qia,-14594),array(qian,-14429),array(qiang,-14407),array(qiao,-14399),array(qie,-14384),array(qin,-14379),array(qing,-14368),array(qiong,-14355),array(qiu,-14353),array(qu,-14345),array(quan,-14170),array(que,-14159),array(qun,-14151),array(ran,-14149),array(rang,-14145),array(rao,-14140),array(re,-14137),array(ren,-14135),array(reng,-14125),array(ri,-14123),array(rong,-14122),array(rou,-14112),array(ru,-14109),array(ruan,-14099),array(rui,-14097),array(run,-14094),array(ruo,-14092),array(sa,-14090),array(sai,-14087),array(san,-14083),array(sang,-13917),array(sao,-13914),array(se,-13910),array(sen,-13907),array(seng,-13906),array(sha,-13905),array(shai,-13896),array(shan,-13894),array(shang,-13878),array(shao,-13870),array(she,-13859),array(shen,-13847),array(sheng,-13831),array(shi,-13658),array(shou,-13611),array(shu,-13601),array(shua,-13406),array(shuai,-13404),array(shuan,-13400),array(shuang,-13398),array(shui,-13395),array(shun,-13391),array(shuo,-13387),array(si,-13383),array(song,-13367),array(sou,-13359),array(su,-13356),array(suan,-13343),array(sui,-13340),array(sun,-13329),array(suo,-13326),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 g($num){
global $d;
if($num>0&&$num<160){
   return chr($num);
}
elseif($num<-20319||$num>-10247){
   return ;
}else{
   for($i=count($d)-1;$i>=0;$i--)
    {if($d[$i][1]<=$num)break;}
   return $d[$i][0];
}
}

function c($str){
$ret=;
for($i=0;$i<strlen($str);$i++){
   $p=ord(substr($str,$i,1));
   if($p>160){
    $q=ord(substr($str,++$i,1));
    $p=$P*256+$q-65536;
   }
   $ret.=g($p);
}
return $ret;
}

//示例:
echo c(网); //输出拼音

?>

/*** 来自:编程之家 jb51.cc(jb51.cc) ***/ 

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...