汉字转化为拼音(php版)

  作者:bea

汉字转化为拼音(php版) 很多服务器对于中文文件名支持不是很好,有没有好的办法来解决呢???现在的解决方法一般是产生一个ID,将这个ID做文件名;网页上如果url带汉字也经常出错;现在的解决方法一般用urlencode编码 现在用了这个转化,就好多了 原理:利用多维数组 1.添加索引 2.遍历数组 <? $d=array( array("a",-20319), array("ai",-20317), array("an",-20304), array("ang",-

汉字转化为拼音(php版) 很多服务器对于中文文件名支持不是很好,有没有好的办法来解决呢???现在的解决方法一般是产生一个ID,将这个ID做文件名;网页上如果url带汉字也经常出错;现在的解决方法一般用urlencode编码



现在用了这个转化,就好多了



原理:利用多维数组

1.添加索引

2.遍历数组



<?

$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($hz);

?>

<form method=post>

请在此处输入中文:<input name=hz>

</form>


有用  |  无用

猜你喜欢