Home
php教程
PHP源碼
PHP gets the pinyin of Chinese characters (all and the first letter) (reposted from blog 2778085001)



PHP gets the pinyin of Chinese characters (all and the first letter) (reposted from blog 2778085001)
Jul 11, 2016 am 08:44 AM
Jump to
[1]
[Full screen preview]
<?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; } //拼音首個(gè)字母 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 ; } //-------------------中文轉(zhuǎn)拼音--------------------------------// 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); } } //-------------------------中文轉(zhuǎn)拼音結(jié)束--------------------------------// //中文是雙字節(jié),所以需要兩個(gè)字節(jié)連接起來(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('羽泉樂隊(duì),歌不錯(cuò)-推薦'),'<br>';//yqldgbc-tj echo $PingYing->getAllPY('羽泉樂隊(duì),歌不錯(cuò)-推薦'),'<br>'; //yuquanleduigebucuo-tuijian ?>
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

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article
Grass Wonder Build Guide | Uma Musume Pretty Derby
1 months ago
By Jack chen
Roblox: 99 Nights In The Forest - All Badges And How To Unlock Them
4 weeks ago
By DDD
Uma Musume Pretty Derby Banner Schedule (July 2025)
1 months ago
By Jack chen
RimWorld Odyssey Temperature Guide for Ships and Gravtech
3 weeks ago
By Jack chen
Windows Security is blank or not showing options
1 months ago
By 下次還敢

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)