拼音字典

本人开发系统时用到的汉字转拼音代码:

 

                /**
	 * 拼音转换字典
	 *
	 * @param int $num
	 * @return string
	 */
	function __Dictionary($num) 
	{
		$dictionary = 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)
		);
		
	    if ($num > 0 && $num < 160) {
	        return chr($num);
	    } elseif ($num < -20319 || $num > -10247) {
	        return "";
	    } else {
	        for ($i = count($dictionary) - 1; $i >= 0; $i--) {
	            if ($dictionary[$i][1] <= $num) {
	                break;
	            }
	        }
	        return $dictionary[$i][0];
	    }
	}
	
	/**
	 * 汉字字串转换成拼音串
	 *
	 * @param string $string
	 * @return string
	 * // 中英文字符混杂字串可用
	 */
	function zhToPinyin($string)
	{
	    $output = "";
	    for ($i=0; $i < strlen($string); $i++) {
	        $letter = ord(substr($string, $i, 1));
	        if($letter > 160){
	            $tmp = ord(substr($string, ++$i, 1));
	            $letter = $letter * 256 + $tmp - 65536;
	        }
	        $output .= $this->__Dictionary($letter);
	    }
	    return $output;
	}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值