Home >Backend Development >PHP Tutorial >PHP program to obtain the pinyin letters of Chinese characters_PHP tutorial

PHP program to obtain the pinyin letters of Chinese characters_PHP tutorial

WBOY
WBOYOriginal
2016-07-20 11:11:061079browse

A complete PHP implementation program for obtaining Chinese pinyin letters, friends in need can refer to it.

The code is as follows Copy code
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,
'mon'=>-15659,
'luo'=>-15652,
'ma'=>-15640,
'may'=>-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
);
//All Pinyin
public function getAllPY($chinese, $delimiter = '', $length = 0) {
$py = $this->zh_to_pys($chinese, $delimiter);
if($length) {
$py = substr($py, 0, $length);
}
return $py;
}
//The first letter of Pinyin
public function getFirstPY($chinese){
$result = '';
for ($i=0; $i $p = ord(substr($chinese,$i,1));
if ($p> ;160) {
                  $q = ord(substr($chinese,++$i,1));                          result .= substr($this->zh_to_py($p),0,1);
                                                                     ----------------Chinese to Pinyin-------------------------------- -//
private function zh_to_py($num, $blank = '') {
if($num>0 && $num<160 ) {
return chr($num);
} elseif ($num<-20319||$num>-10247) {
                     return $blank;
                                                                                                                           }


private function zh_to_pys($chinese, $delimiter = ' ', $first=0){
$result = array();
for($i=0; $i $p = ord(substr($chinese,$i,1));
if($p>160) {
                                                                                                                            
            $result[] = $this->zh_to_py($p);                                                               }
return implode($delimiter, $result);
}
}
//-------------------------Chinese to Pinyin End--------------------------------//
//Chinese is double-byte, so two are needed Bytes are concatenated (ASCII code range is 161-255)
$c = 'Qiqin';
for($i=0; $i echo ord($c[$i]).' ';//198 235 199 216
}
echo '
',chr(198).chr(235).chr(199 ).chr(216),'
';


//Test
$PingYing = new GetPingYing();
echo '
',$PingYing ->getFirstPY('Yuquan Band, the song is good - recommended'),'
';//yqldgbc-tj
echo $PingYing->getAllPY('Yuquan Band, the song is good - recommended'), '
'; //yuquanleduigebucuo-tuijian
?>






http://www.bkjia.com/PHPjc/444670.html
www.bkjia.com

true

TechArticleA complete PHP implementation program for obtaining Chinese pinyin letters. Friends in need can refer to it. The code is as follows Copy the code ?php class GetPingYing { private $pylist = array( 'a'=-203...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn