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