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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-07-20 11:11:06
Original
1101 people have browsed it

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 of this Website
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
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template