好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP获取汉字的拼音字母实现程序 - php类库

PHP获取汉字的拼音字母实现程序

一个完整的php获取汉字拼音字母的实现程序,有需要的朋友可参考一下,php实例代码如下:

<?php   class  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 );       }   }   //-------------------------中文转拼音结束--------------------------------//    //中文是双字节,所以需要两个字节连接起来(ASCII码的范围是在161-255)    $c  =  '齐秦' ;   for ( $i =0;  $i < strlen ( $c );  $i ++) {        echo  ord( $c [ $i ]). ' ' ; //198 235 199 216    }   echo   '<br>' , chr (198). chr (235). chr (199). chr (216), '<br>' ;   //开源代码phpfensi测试数据       //测试    $PingYing  =  new  GetPingYing();   echo   '<br>' , $PingYing ->getFirstPY( '羽泉乐队,歌不错-推荐' ), '<br>' ; //yqldgbc-tj    echo   $PingYing ->getAllPY( '羽泉乐队,歌不错-推荐' ), '<br>' ;    //yuquanleduigebucuo-tuijian    ?> 

查看更多关于PHP获取汉字的拼音字母实现程序 - php类库的详细内容...

  阅读:54次