PHP 汉字转拼音类(全拼与首字母)

来源:互联网 发布:淘宝api接口开发文档 编辑:程序博客网 时间:2024/04/27 19:48
<?phpclass GetPingYing {    private $pylist = array(        'a'=>-20319,        'ai'=>-20317,        'an'=>-20304,        'ang'=>-20295,        'ao'=>-20292,        'ba'=>-20283,        'bai'=>-20265,        'ban'=>-20257,        'bang'=>-20242,        'bao'=>-20230,        'bei'=>-20051,        'ben'=>-20036,        'beng'=>-20032,        'bi'=>-20026,        'bian'=>-20002,        'biao'=>-19990,        'bie'=>-19986,        'bin'=>-19982,        'bing'=>-19976,        'bo'=>-19805,        'bu'=>-19784,        'ca'=>-19775,        'cai'=>-19774,        'can'=>-19763,        'cang'=>-19756,        'cao'=>-19751,        'ce'=>-19746,        'ceng'=>-19741,        'cha'=>-19739,        'chai'=>-19728,        'chan'=>-19725,        'chang'=>-19715,        'chao'=>-19540,        'che'=>-19531,        'chen'=>-19525,        'cheng'=>-19515,        'chi'=>-19500,        'chong'=>-19484,        'chou'=>-19479,        'chu'=>-19467,        'chuai'=>-19289,        'chuan'=>-19288,        'chuang'=>-19281,        'chui'=>-19275,        'chun'=>-19270,        'chuo'=>-19263,        'ci'=>-19261,        'cong'=>-19249,        'cou'=>-19243,        'cu'=>-19242,        'cuan'=>-19238,        'cui'=>-19235,        'cun'=>-19227,        'cuo'=>-19224,        'da'=>-19218,        'dai'=>-19212,        'dan'=>-19038,        'dang'=>-19023,        'dao'=>-19018,        'de'=>-19006,        'deng'=>-19003,        'di'=>-18996,        'dian'=>-18977,        'diao'=>-18961,        'die'=>-18952,        'ding'=>-18783,        'diu'=>-18774,        'dong'=>-18773,        'dou'=>-18763,        'du'=>-18756,        'duan'=>-18741,        'dui'=>-18735,        'dun'=>-18731,        'duo'=>-18722,        'e'=>-18710,        'en'=>-18697,        'er'=>-18696,        'fa'=>-18526,        'fan'=>-18518,        'fang'=>-18501,        'fei'=>-18490,        'fen'=>-18478,        'feng'=>-18463,        'fo'=>-18448,        'fou'=>-18447,        'fu'=>-18446,        'ga'=>-18239,        'gai'=>-18237,        'gan'=>-18231,        'gang'=>-18220,        'gao'=>-18211,        'ge'=>-18201,        'gei'=>-18184,        'gen'=>-18183,        'geng'=>-18181,        'gong'=>-18012,        'gou'=>-17997,        'gu'=>-17988,        'gua'=>-17970,        'guai'=>-17964,        'guan'=>-17961,        'guang'=>-17950,        'gui'=>-17947,        'gun'=>-17931,        'guo'=>-17928,        'ha'=>-17922,        'hai'=>-17759,        'han'=>-17752,        'hang'=>-17733,        'hao'=>-17730,        'he'=>-17721,        'hei'=>-17703,        'hen'=>-17701,        'heng'=>-17697,        'hong'=>-17692,        'hou'=>-17683,        'hu'=>-17676,        'hua'=>-17496,        'huai'=>-17487,        'huan'=>-17482,        'huang'=>-17468,        'hui'=>-17454,        'hun'=>-17433,        'huo'=>-17427,        'ji'=>-17417,        'jia'=>-17202,        'jian'=>-17185,        'jiang'=>-16983,        'jiao'=>-16970,        'jie'=>-16942,        'jin'=>-16915,        'jing'=>-16733,        'jiong'=>-16708,        'jiu'=>-16706,        'ju'=>-16689,        'juan'=>-16664,        'jue'=>-16657,        'jun'=>-16647,        'ka'=>-16474,        'kai'=>-16470,        'kan'=>-16465,        'kang'=>-16459,        'kao'=>-16452,        'ke'=>-16448,        'ken'=>-16433,        'keng'=>-16429,        'kong'=>-16427,        'kou'=>-16423,        'ku'=>-16419,        'kua'=>-16412,        'kuai'=>-16407,        'kuan'=>-16403,        'kuang'=>-16401,        'kui'=>-16393,        'kun'=>-16220,        'kuo'=>-16216,        'la'=>-16212,        'lai'=>-16205,        'lan'=>-16202,        'lang'=>-16187,        'lao'=>-16180,        'le'=>-16171,        'lei'=>-16169,        'leng'=>-16158,        'li'=>-16155,        'lia'=>-15959,        'lian'=>-15958,        'liang'=>-15944,        'liao'=>-15933,        'lie'=>-15920,        'lin'=>-15915,        'ling'=>-15903,        'liu'=>-15889,        'long'=>-15878,        'lou'=>-15707,        'lu'=>-15701,        'lv'=>-15681,        'luan'=>-15667,        'lue'=>-15661,        'lun'=>-15659,        'luo'=>-15652,        'ma'=>-15640,        'mai'=>-15631,        'man'=>-15625,        'mang'=>-15454,        'mao'=>-15448,        'me'=>-15436,        'mei'=>-15435,        'men'=>-15419,        'meng'=>-15416,        'mi'=>-15408,        'mian'=>-15394,        'miao'=>-15385,        'mie'=>-15377,        'min'=>-15375,        'ming'=>-15369,        'miu'=>-15363,        'mo'=>-15362,        'mou'=>-15183,        'mu'=>-15180,        'na'=>-15165,        'nai'=>-15158,        'nan'=>-15153,        'nang'=>-15150,        'nao'=>-15149,        'ne'=>-15144,        'nei'=>-15143,        'nen'=>-15141,        'neng'=>-15140,        'ni'=>-15139,        'nian'=>-15128,        'niang'=>-15121,        'niao'=>-15119,        'nie'=>-15117,        'nin'=>-15110,        'ning'=>-15109,        'niu'=>-14941,        'nong'=>-14937,        'nu'=>-14933,        'nv'=>-14930,        'nuan'=>-14929,        'nue'=>-14928,        'nuo'=>-14926,        'o'=>-14922,        'ou'=>-14921,        'pa'=>-14914,        'pai'=>-14908,        'pan'=>-14902,        'pang'=>-14894,        'pao'=>-14889,        'pei'=>-14882,        'pen'=>-14873,        'peng'=>-14871,        'pi'=>-14857,        'pian'=>-14678,        'piao'=>-14674,        'pie'=>-14670,        'pin'=>-14668,        'ping'=>-14663,        'po'=>-14654,        'pu'=>-14645,        'qi'=>-14630,        'qia'=>-14594,        'qian'=>-14429,        'qiang'=>-14407,        'qiao'=>-14399,        'qie'=>-14384,        'qin'=>-14379,        'qing'=>-14368,        'qiong'=>-14355,        'qiu'=>-14353,        'qu'=>-14345,        'quan'=>-14170,        'que'=>-14159,        'qun'=>-14151,        'ran'=>-14149,        'rang'=>-14145,        'rao'=>-14140,        're'=>-14137,        'ren'=>-14135,        'reng'=>-14125,        'ri'=>-14123,        'rong'=>-14122,        'rou'=>-14112,        'ru'=>-14109,        'ruan'=>-14099,        'rui'=>-14097,        'run'=>-14094,        'ruo'=>-14092,        'sa'=>-14090,        'sai'=>-14087,        'san'=>-14083,        'sang'=>-13917,        'sao'=>-13914,        'se'=>-13910,        'sen'=>-13907,        'seng'=>-13906,        'sha'=>-13905,        'shai'=>-13896,        'shan'=>-13894,        'shang'=>-13878,        'shao'=>-13870,        'she'=>-13859,        'shen'=>-13847,        'sheng'=>-13831,        'shi'=>-13658,        'shou'=>-13611,        'shu'=>-13601,        'shua'=>-13406,        'shuai'=>-13404,        'shuan'=>-13400,        'shuang'=>-13398,        'shui'=>-13395,        'shun'=>-13391,        'shuo'=>-13387,        'si'=>-13383,        'song'=>-13367,        'sou'=>-13359,        'su'=>-13356,        'suan'=>-13343,        'sui'=>-13340,        'sun'=>-13329,        'suo'=>-13326,        'ta'=>-13318,        'tai'=>-13147,        'tan'=>-13138,        'tang'=>-13120,        'tao'=>-13107,        'te'=>-13096,        'teng'=>-13095,        'ti'=>-13091,        'tian'=>-13076,        'tiao'=>-13068,        'tie'=>-13063,        'ting'=>-13060,        'tong'=>-12888,        'tou'=>-12875,        'tu'=>-12871,        'tuan'=>-12860,        'tui'=>-12858,        'tun'=>-12852,        'tuo'=>-12849,        'wa'=>-12838,        'wai'=>-12831,        'wan'=>-12829,        'wang'=>-12812,        'wei'=>-12802,        'wen'=>-12607,        'weng'=>-12597,        'wo'=>-12594,        'wu'=>-12585,        'xi'=>-12556,        'xia'=>-12359,        'xian'=>-12346,        'xiang'=>-12320,        'xiao'=>-12300,        'xie'=>-12120,        'xin'=>-12099,        'xing'=>-12089,        'xiong'=>-12074,        'xiu'=>-12067,        'xu'=>-12058,        'xuan'=>-12039,        'xue'=>-11867,        'xun'=>-11861,        'ya'=>-11847,        'yan'=>-11831,        'yang'=>-11798,        'yao'=>-11781,        'ye'=>-11604,        'yi'=>-11589,        'yin'=>-11536,        'ying'=>-11358,        'yo'=>-11340,        'yong'=>-11339,        'you'=>-11324,        'yu'=>-11303,        'yuan'=>-11097,        'yue'=>-11077,        'yun'=>-11067,        'za'=>-11055,        'zai'=>-11052,        'zan'=>-11045,        'zang'=>-11041,        'zao'=>-11038,        'ze'=>-11024,        'zei'=>-11020,        'zen'=>-11019,        'zeng'=>-11018,        'zha'=>-11014,        'zhai'=>-10838,        'zhan'=>-10832,        'zhang'=>-10815,        'zhao'=>-10800,        'zhe'=>-10790,        'zhen'=>-10780,        'zheng'=>-10764,        'zhi'=>-10587,        'zhong'=>-10544,        'zhou'=>-10533,        'zhu'=>-10519,        'zhua'=>-10331,        'zhuai'=>-10329,        'zhuan'=>-10328,        'zhuang'=>-10322,        'zhui'=>-10315,        'zhun'=>-10309,        'zhuo'=>-10307,        'zi'=>-10296,        'zong'=>-10281,        'zou'=>-10274,        'zu'=>-10270,        'zuan'=>-10262,        'zui'=>-10260,        'zun'=>-10256,        'zuo'=>-10254    );    //全部拼音    public function getAllPY($chinese, $delimiter = '', $length = 0) {       $py = $this->zh_to_pys($chinese, $delimiter);       if($length) {           $py = substr($py, 0, $length);       }       return $py;    }    //拼音首个字母    public function getFirstPY($chinese){       $result = '' ;       for ($i=0; $i<strlen($chinese); $i++) {           $p = ord(substr($chinese,$i,1));           if ($p>160) {              $q = ord(substr($chinese,++$i,1));              $p = $p*256 + $q - 65536;           }           $result .= substr($this->zh_to_py($p),0,1);       }       return $result ;    }       //-------------------中文转拼音--------------------------------//    private function zh_to_py($num, $blank = '') {       if($num>0 && $num<160 ) {           return chr($num);       } elseif ($num<-20319||$num>-10247) {           return $blank;       } else {           foreach ($this->pylist as $py => $code) {              if($code > $num) break;              $result = $py;           }           return $result;       }    }       private function zh_to_pys($chinese, $delimiter = ' ', $first=0){       $result = array();       for($i=0; $i<strlen($chinese); $i++) {           $p = ord(substr($chinese,$i,1));           if($p>160) {              $q = ord(substr($chinese,++$i,1));              $p = $p*256 + $q - 65536;           }           $result[] = $this->zh_to_py($p);           if ($first) {              return $result[0];           }       }       return implode($delimiter, $result);    }}?>

 使用方法:

//测试$PingYing = new GetPingYing();echo '<br>',$PingYing->getFirstPY('羽泉乐队,歌不错-推荐'),'<br>';//yqldgbc-tjecho $PingYing->getAllPY('羽泉乐队,歌不错-推荐'),'<br>';   //yuquanleduigebucuo-tuijian
转自:http://www.cnblogs.com/hongfei/p/3604970.html

0 0
原创粉丝点击