您当前的位置: 首页 > 网站编程 > PHP教程 > 使用PHP获取汉字的拼音

使用PHP获取汉字的拼音

作者:不详 来源:网络 发布时间: 2014-08-19 14:29 点击:
废话不多说,直接上代码: 复制代码 代码如下: ?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'=

使用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>';

  //测试

  $PingYing = new GetPingYing();

  echo '<br>',$PingYing->getFirstPY('羽泉乐队,歌不错-推荐'),'<br>';//yqldgbc-tj

  echo $PingYing->getAllPY('羽泉乐队,歌不错-推荐'),'<br>'; //yuquanleduigebucuo-tuijian

  ?>
分享到:
本文"使用PHP获取汉字的拼音"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4