php汉字转字母

时间:2011-01-06 17:48 作者:php 点击:
php汉字转字母$pinyi = new phpzySpell(); $pinyi ->getFullSpell("绿色php资源");

  

php汉字转字母$pinyi =  new phpzy_pinyi();
echo $pinyi ->getFullSpell("绿色php资源");

 

  1. <?php  
  2. class phpzy_pinyi {  
  3.  /**  
  4.   * http://www.phpzy.com  
  5.   * @var array $phpzySpellList 拼音编码对应表   
  6.   * @access private  
  7.   */ 
  8.  private $phpzySpellList = array(  
  9.     'a'=>-20319,  
  10.     'ai'=>-20317,  
  11.     'an'=>-20304,  
  12.     'ang'=>-20295,  
  13.     'ao'=>-20292,  
  14.     'ba'=>-20283,  
  15.     'bai'=>-20265,  
  16.     'ban'=>-20257,  
  17.     'bang'=>-20242,  
  18.     'bao'=>-20230,  
  19.     'bei'=>-20051,  
  20.     'ben'=>-20036,  
  21.     'beng'=>-20032,  
  22.     'bi'=>-20026,  
  23.     'bian'=>-20002,  
  24.     'biao'=>-19990,  
  25.     'bie'=>-19986,  
  26.     'bin'=>-19982,  
  27.     'bing'=>-19976,  
  28.     'bo'=>-19805,  
  29.     'bu'=>-19784,  
  30.     'ca'=>-19775,  
  31.     'cai'=>-19774,  
  32.     'can'=>-19763,  
  33.     'cang'=>-19756,  
  34.     'cao'=>-19751,  
  35.     'ce'=>-19746,  
  36.     'ceng'=>-19741,  
  37.     'cha'=>-19739,  
  38.     'chai'=>-19728,  
  39.     'chan'=>-19725,  
  40.     'chang'=>-19715,  
  41.     'chao'=>-19540,  
  42.     'che'=>-19531,  
  43.     'chen'=>-19525,  
  44.     'cheng'=>-19515,  
  45.     'chi'=>-19500,  
  46.     'chong'=>-19484,  
  47.     'chou'=>-19479,  
  48.     'chu'=>-19467,  
  49.     'chuai'=>-19289,  
  50.     'chuan'=>-19288,  
  51.     'chuang'=>-19281,  
  52.     'chui'=>-19275,  
  53.     'chun'=>-19270,  
  54.     'chuo'=>-19263,  
  55.     'ci'=>-19261,  
  56.     'cong'=>-19249,  
  57.     'cou'=>-19243,  
  58.     'cu'=>-19242,  
  59.     'cuan'=>-19238,  
  60.     'cui'=>-19235,  
  61.     'cun'=>-19227,  
  62.     'cuo'=>-19224,  
  63.     'da'=>-19218,  
  64.     'dai'=>-19212,  
  65.     'dan'=>-19038,  
  66.     'dang'=>-19023,  
  67.     'dao'=>-19018,  
  68.     'de'=>-19006,  
  69.     'deng'=>-19003,  
  70.     'di'=>-18996,  
  71.     'dian'=>-18977,  
  72.     'diao'=>-18961,  
  73.     'die'=>-18952,  
  74.     'ding'=>-18783,  
  75.     'diu'=>-18774,  
  76.     'dong'=>-18773,  
  77.     'dou'=>-18763,  
  78.     'du'=>-18756,  
  79.     'duan'=>-18741,  
  80.     'dui'=>-18735,  
  81.     'dun'=>-18731,  
  82.     'duo'=>-18722,  
  83.     'e'=>-18710,  
  84.     'en'=>-18697,  
  85.     'er'=>-18696,  
  86.     'fa'=>-18526,  
  87.     'fan'=>-18518,  
  88.     'fang'=>-18501,  
  89.     'fei'=>-18490,  
  90.     'fen'=>-18478,  
  91.     'feng'=>-18463,  
  92.     'fo'=>-18448,  
  93.     'fou'=>-18447,  
  94.     'fu'=>-18446,  
  95.     'ga'=>-18239,  
  96.     'gai'=>-18237,  
  97.     'gan'=>-18231,  
  98.     'gang'=>-18220,  
  99.     'gao'=>-18211,  
  100.     'ge'=>-18201,  
  101.     'gei'=>-18184,  
  102.     'gen'=>-18183,  
  103.     'geng'=>-18181,  
  104.     'gong'=>-18012,  
  105.     'gou'=>-17997,  
  106.     'gu'=>-17988,  
  107.     'gua'=>-17970,  
  108.     'guai'=>-17964,  
  109.     'guan'=>-17961,  
  110.     'guang'=>-17950,  
  111.     'gui'=>-17947,  
  112.     'gun'=>-17931,  
  113.     'guo'=>-17928,  
  114.     'ha'=>-17922,  
  115.     'hai'=>-17759,  
  116.     'han'=>-17752,  
  117.     'hang'=>-17733,  
  118.     'hao'=>-17730,  
  119.     'he'=>-17721,  
  120.     'hei'=>-17703,  
  121.     'hen'=>-17701,  
  122.     'heng'=>-17697,  
  123.     'hong'=>-17692,  
  124.     'hou'=>-17683,  
  125.     'hu'=>-17676,  
  126.     'hua'=>-17496,  
  127.     'huai'=>-17487,  
  128.     'huan'=>-17482,  
  129.     'huang'=>-17468,  
  130.     'hui'=>-17454,  
  131.     'hun'=>-17433,  
  132.     'huo'=>-17427,  
  133.     'ji'=>-17417,  
  134.     'jia'=>-17202,  
  135.     'jian'=>-17185,  
  136.     'jiang'=>-16983,  
  137.     'jiao'=>-16970,  
  138.     'jie'=>-16942,  
  139.     'jin'=>-16915,  
  140.     'jing'=>-16733,  
  141.     'jiong'=>-16708,  
  142.     'jiu'=>-16706,  
  143.     'ju'=>-16689,  
  144.     'juan'=>-16664,  
  145.     'jue'=>-16657,  
  146.     'jun'=>-16647,  
  147.     'ka'=>-16474,  
  148.     'kai'=>-16470,  
  149.     'kan'=>-16465,  
  150.     'kang'=>-16459,  
  151.     'kao'=>-16452,  
  152.     'ke'=>-16448,  
  153.     'ken'=>-16433,  
  154.     'keng'=>-16429,  
  155.     'kong'=>-16427,  
  156.     'kou'=>-16423,  
  157.     'ku'=>-16419,  
  158.     'kua'=>-16412,  
  159.     'kuai'=>-16407,  
  160.     'kuan'=>-16403,  
  161.     'kuang'=>-16401,  
  162.     'kui'=>-16393,  
  163.     'kun'=>-16220,  
  164.     'kuo'=>-16216,  
  165.     'la'=>-16212,  
  166.     'lai'=>-16205,  
  167.     'lan'=>-16202,  
  168.     'lang'=>-16187,  
  169.     'lao'=>-16180,  
  170.     'le'=>-16171,  
  171.     'lei'=>-16169,  
  172.     'leng'=>-16158,  
  173.     'li'=>-16155,  
  174.     'lia'=>-15959,  
  175.     'lian'=>-15958,  
  176.     'liang'=>-15944,  
  177.     'liao'=>-15933,  
  178.     'lie'=>-15920,  
  179.     'lin'=>-15915,  
  180.     'ling'=>-15903,  
  181.     'liu'=>-15889,  
  182.     'long'=>-15878,  
  183.     'lou'=>-15707,  
  184.     'lu'=>-15701,  
  185.     'lv'=>-15681,  
  186.     'luan'=>-15667,  
  187.     'lue'=>-15661,  
  188.     'lun'=>-15659,  
  189.     'luo'=>-15652,  
  190.     'ma'=>-15640,  
  191.     'mai'=>-15631,  
  192.     'man'=>-15625,  
  193.     'mang'=>-15454,  
  194.     'mao'=>-15448,  
  195.     'me'=>-15436,  
  196.     'mei'=>-15435,  
  197.     'men'=>-15419,  
  198.     'meng'=>-15416,  
  199.     'mi'=>-15408,  
  200.     'mian'=>-15394,  
  201.     'miao'=>-15385,  
  202.     'mie'=>-15377,  
  203.     'min'=>-15375,  
  204.     'ming'=>-15369,  
  205.     'miu'=>-15363,  
  206.     'mo'=>-15362,  
  207.     'mou'=>-15183,  
  208.     'mu'=>-15180,  
  209.     'na'=>-15165,  
  210.     'nai'=>-15158,  
  211.     'nan'=>-15153,  
  212.     'nang'=>-15150,  
  213.     'nao'=>-15149,  
  214.     'ne'=>-15144,  
  215.     'nei'=>-15143,  
  216.     'nen'=>-15141,  
  217.     'neng'=>-15140,  
  218.     'ni'=>-15139,  
  219.     'nian'=>-15128,  
  220.     'niang'=>-15121,  
  221.     'niao'=>-15119,  
  222.     'nie'=>-15117,  
  223.     'nin'=>-15110,  
  224.     'ning'=>-15109,  
  225.     'niu'=>-14941,  
  226.     'nong'=>-14937,  
  227.     'nu'=>-14933,  
  228.     'nv'=>-14930,  
  229.     'nuan'=>-14929,  
  230.     'nue'=>-14928,  
  231.     'nuo'=>-14926,  
  232.     'o'=>-14922,  
  233.     'ou'=>-14921,  
  234.     'pa'=>-14914,  
  235.     'pai'=>-14908,  
  236.     'pan'=>-14902,  
  237.     'pang'=>-14894,  
  238.     'pao'=>-14889,  
  239.     'pei'=>-14882,  
  240.     'pen'=>-14873,  
  241.     'peng'=>-14871,  
  242.     'pi'=>-14857,  
  243.     'pian'=>-14678,  
  244.     'piao'=>-14674,  
  245.     'pie'=>-14670,  
  246.     'pin'=>-14668,  
  247.     'ping'=>-14663,  
  248.     'po'=>-14654,  
  249.     'pu'=>-14645,  
  250.     'qi'=>-14630,  
  251.     'qia'=>-14594,  
  252.     'qian'=>-14429,  
  253.     'qiang'=>-14407,  
  254.     'qiao'=>-14399,  
  255.     'qie'=>-14384,  
  256.     'qin'=>-14379,  
  257.     'qing'=>-14368,  
  258.     'qiong'=>-14355,  
  259.     'qiu'=>-14353,  
  260.     'qu'=>-14345,  
  261.     'quan'=>-14170,  
  262.     'que'=>-14159,  
  263.     'qun'=>-14151,  
  264.     'ran'=>-14149,  
  265.     'rang'=>-14145,  
  266.     'rao'=>-14140,  
  267.     're'=>-14137,  
  268.     'ren'=>-14135,  
  269.     'reng'=>-14125,  
  270.     'ri'=>-14123,  
  271.     'rong'=>-14122,  
  272.     'rou'=>-14112,  
  273.     'ru'=>-14109,  
  274.     'ruan'=>-14099,  
  275.     'rui'=>-14097,  
  276.     'run'=>-14094,  
  277.     'ruo'=>-14092,  
  278.     'sa'=>-14090,  
  279.     'sai'=>-14087,  
  280.     'san'=>-14083,  
  281.     'sang'=>-13917,  
  282.     'sao'=>-13914,  
  283.     'se'=>-13910,  
  284.     'sen'=>-13907,  
  285.     'seng'=>-13906,  
  286.     'sha'=>-13905,  
  287.     'shai'=>-13896,  
  288.     'shan'=>-13894,  
  289.     'shang'=>-13878,  
  290.     'shao'=>-13870,  
  291.     'she'=>-13859,  
  292.     'shen'=>-13847,  
  293.     'sheng'=>-13831,  
  294.     'shi'=>-13658,  
  295.     'shou'=>-13611,  
  296.     'shu'=>-13601,  
  297.     'shua'=>-13406,  
  298.     'shuai'=>-13404,  
  299.     'shuan'=>-13400,  
  300.     'shuang'=>-13398,  
  301.     'shui'=>-13395,  
  302.     'shun'=>-13391,  
  303.     'shuo'=>-13387,  
  304.     'si'=>-13383,  
  305.     'song'=>-13367,  
  306.     'sou'=>-13359,  
  307.     'su'=>-13356,  
  308.     'suan'=>-13343,  
  309.     'sui'=>-13340,  
  310.     'sun'=>-13329,  
  311.     'suo'=>-13326,  
  312.     'ta'=>-13318,  
  313.     'tai'=>-13147,  
  314.     'tan'=>-13138,  
  315.     'tang'=>-13120,  
  316.     'tao'=>-13107,  
  317.     'te'=>-13096,  
  318.     'teng'=>-13095,  
  319.     'ti'=>-13091,  
  320.     'tian'=>-13076,  
  321.     'tiao'=>-13068,  
  322.     'tie'=>-13063,  
  323.     'ting'=>-13060,  
  324.     'tong'=>-12888,  
  325.     'tou'=>-12875,  
  326.     'tu'=>-12871,  
  327.     'tuan'=>-12860,  
  328.     'tui'=>-12858,  
  329.     'tun'=>-12852,  
  330.     'tuo'=>-12849,  
  331.     'wa'=>-12838,  
  332.     'wai'=>-12831,  
  333.     'wan'=>-12829,  
  334.     'wang'=>-12812,  
  335.     'wei'=>-12802,  
  336.     'wen'=>-12607,  
  337.     'weng'=>-12597,  
  338.     'wo'=>-12594,  
  339.     'wu'=>-12585,  
  340.     'xi'=>-12556,  
  341.     'xia'=>-12359,  
  342.     'xian'=>-12346,  
  343.     'xiang'=>-12320,  
  344.     'xiao'=>-12300,  
  345.     'xie'=>-12120,  
  346.     'xin'=>-12099,  
  347.     'xing'=>-12089,  
  348.     'xiong'=>-12074,  
  349.     'xiu'=>-12067,  
  350.     'xu'=>-12058,  
  351.     'xuan'=>-12039,  
  352.     'xue'=>-11867,  
  353.     'xun'=>-11861,  
  354.     'ya'=>-11847,  
  355.     'yan'=>-11831,  
  356.     'yang'=>-11798,  
  357.     'yao'=>-11781,  
  358.     'ye'=>-11604,  
  359.     'yi'=>-11589,  
  360.     'yin'=>-11536,  
  361.     'ying'=>-11358,  
  362.     'yo'=>-11340,  
  363.     'yong'=>-11339,  
  364.     'you'=>-11324,  
  365.     'yu'=>-11303,  
  366.     'yuan'=>-11097,  
  367.     'yue'=>-11077,  
  368.     'yun'=>-11067,  
  369.     'za'=>-11055,  
  370.     'zai'=>-11052,  
  371.     'zan'=>-11045,  
  372.     'zang'=>-11041,  
  373.     'zao'=>-11038,  
  374.     'ze'=>-11024,  
  375.     'zei'=>-11020,  
  376.     'zen'=>-11019,  
  377.     'zeng'=>-11018,  
  378.     'zha'=>-11014,  
  379.     'zhai'=>-10838,  
  380.     'zhan'=>-10832,  
  381.     'zhang'=>-10815,  
  382.     'zhao'=>-10800,  
  383.     'zhe'=>-10790,  
  384.     'zhen'=>-10780,  
  385.     'zheng'=>-10764,  
  386.     'zhi'=>-10587,  
  387.     'zhong'=>-10544,  
  388.     'zhou'=>-10533,  
  389.     'zhu'=>-10519,  
  390.     'zhua'=>-10331,  
  391.     'zhuai'=>-10329,  
  392.     'zhuan'=>-10328,  
  393.     'zhuang'=>-10322,  
  394.     'zhui'=>-10315,  
  395.     'zhun'=>-10309,  
  396.     'zhuo'=>-10307,  
  397.     'zi'=>-10296,  
  398.     'zong'=>-10281,  
  399.     'zou'=>-10274,  
  400.     'zu'=>-10270,  
  401.     'zuan'=>-10262,  
  402.     'zui'=>-10260,  
  403.     'zun'=>-10256,  
  404.     'zuo'=>-10254  
  405.     );  
  406.    
  407.  /**  
  408.   * 取汉字所有拼音  
  409.   * @param string $phpzy 要转换的汉字  
  410.   * @param string $delimiter 分隔符  
  411.   * @param int $length 返回的长度  
  412.   * @return string  
  413.   */ 
  414.  public function getFullSpell($phpzy$delimiter = ' '$length = 0) {  
  415.   $spell = $this->getphpzySpells($phpzy$delimiter);  
  416.   if ($length) {  
  417.    $spell = substr($spell, 0, $length);  
  418.   }  
  419.   return $spell;  
  420.  }  
  421.    
  422.  /**  
  423.   * 取汉字第一个拼音  
  424.   * @param string $phpzy 要转换的汉字  
  425.   * @param int $length 返回的长度  
  426.   * @return string  
  427.   */ 
  428.  public function getFirstSpell($phpzy$length = 0) {  
  429.   $spell = $this->getphpzySpells($phpzy' ', 1);  
  430.   if ($length) {  
  431.    $spell = substr($spell, 0, $length);  
  432.   }  
  433.   return $spell;  
  434.  }  
  435.  /**  
  436.   * 取一个汉字码对应的拼音  
  437.   * @param int $num 汉字码  
  438.   * @param string $blank 空白字符  
  439.   * @return string  
  440.   */ 
  441.  private function getphpzySpell ($num$blank = '') {  
  442.   if ( $num>0 && $num<160 ) {  
  443.    return chr($num);  
  444.   } elseif ($num<-20319||$num>-10247) {  
  445.    return $blank;  
  446.   } else {  
  447.    foreach ($this->phpzySpellList as $spell => $code) {  
  448.     if ($code > $numbreak;  
  449.     $result = $spell;  
  450.    }  
  451.    return $result;  
  452.   }  
  453.  }  
  454.  /**  
  455.   * 取汉字拼音  
  456.   * @param string $phpzy 要转换的汉字  
  457.   * @param string $delimiter 分隔符  
  458.   * @param int $first 是否只返回第一个  
  459.   * @return string  
  460.   */ 
  461.  private function getphpzySpells($phpzy$delimiter = ' '$first=0)  
  462.  {  
  463.   $result = array();  
  464.   for ($i=0; $i<strlen($phpzy); $i++) {  
  465.    $p = ord(substr($phpzy,$i,1));  
  466.    if ($p>160) {  
  467.     $q = ord(substr($phpzy,++$i,1));  
  468.     $p = $p*256 + $q - 65536;  
  469.    }  
  470.    $result[] = $this->getphpzySpell($p);  
  471.    if ($first) {  
  472.     return $result[0];  
  473.    }  
  474.   }  
  475.   return implode($delimiter$result);  
  476.  }  
  477. }  
  478. ?> 

 来源:http://www.phpzy.com/benzhanyuanchuangphplei/39596.html


标签(Tag):php汉字转字母
------分隔线----------------------------
推荐内容
热点内容