PHP program to obtain the pinyin letters of Chinese characters_PHP tutorial

WBOY
Release: 2016-07-20 11:11:06
Original
1045 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...
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!