Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo llamar al método de conversión de caracteres chinos a pinyin en un programa PHP

Cómo llamar al método de conversión de caracteres chinos a pinyin en un programa PHP

$fuente? =?"China";

$objetivo? =?Nuevo? cortar F8 _ PY();

¿Eco? $objetivo? - gt;? codificación(?$fuente?,?cabeza');

Eco? "\r\n";

¿Eco? $objetivo? - gt;? codificación(?$fuente?,?todos’);

/**

*?PHP? Convertir caracteres chinos a Pinyin

*?@Autor? Jerryli(hzjerry@gmail.com)

*?@versión? V0.20140715

*?@包? SPFW.core.lib.final

*?@global? Ocean_PHP_FW_VAR_ENV

*?@Ejemplo

*¿Echo? CUtf8_PY::encode('Alibaba Technology Co., Ltd.');? //El código es la primera letra de Pinyin.

*¿Eco? CUtf8_PY::encode('Alibaba Technology Co., Ltd.',?todos');? //El código está en Pinyin completo.

*/

¿Clase? CUtf8_PY? {

/**

? *?Tabla de conversión de caracteres Pinyin

? *?@var? ¿Organizar

? */

¿Privado? ¿Electricidad estática? $_aMapas? =?array(

a ' = gt-20319, ' ai ' = gt-20317, 'an' = gt-20304, ' ang ' = gt-20295, ' ao ' = gt-20292,

ba' = gt-20283, 'blanco' = gt-20265, 'ban' = gt-20257, 'bang' = gt-20242, 'bao' = gt-20230, 'bai' = gt-20051, 'ben' = gt-20036, 'beng' = gt-20032, 'bi' = gt-20026, 'bian' = gt-20002, 'biao' = gt-19990, 'bie' = gt- 19986, 'bin' = gt-19982, 'bing' = gt-19976, 'bo' = gt-19805, 'bu' = gt-19784,

ca' = gt-19775, 'cai ' ' = gt-19774, 'c' = gt-19763, 'cang' = gt-19756, 'cao' = gt-19751, 'ce' = >-19746, 'zen' = gt-19741, 'cha' = gt-19739, 'chai' = gt-19728, 'chan' = >-19725, 'chang' = gt-19715, 'chao' = gt-19540, 'che' = gt-19531, 'chan' = gt -19525, 'Cheng' = gt-19515, 'Chi' => -19500, 'Chong' = gt-19484, 'chou' = gt-19479, 'Chu' = gt-19467, 'Chui' = gt-19289 , 'chuan' = gt-19288, 'chuang' = gt-19281, 'chui' = gt-19275, 'primavera' = gt-19270, 'chuo' = gt-19263, 'ci' = gt-19261, ' Cong' => -19249, 'cou' = gt-19243, 'cu' = gt-19242, 'cuan' ​​= gt-19238, 'cui' = gt-19235, 'cun' = gt-19227,' cuo' = gt-19224,

da' = gt-19218,'dai' =>-19212,'dan' =>-19038,'dang' = gt-19023,'dao' = gt -19018, 'de' => -19006, 'deng' = gt-19003, 'di' = gt-18996, 'dian' = gt-18977, 'diao' = gt-18961, 'die' = gt-18952 , 'ding' = gt-18783, 'diu' = gt-18774, 'dong' = gt-18773, 'dou' = gt-18763, 'du' = gt-18756, 'duan' = gt-18741,'

dui' = gt-18735, 'dun' = gt-18731, 'duo' = gt-18722, 'e' = gt-18710, 'en' = > -18697, 'er' = gt-18696,

fa' = gt-18526, 'fan' = gt-18518, 'fang' = >-18501, 'tarifa' = gt-18490, 'fen' = gt-18478, 'feng' = gt-18463 , 'fo' = gt-18448, 'fou' = gt-18447, 'Fu' = gt-18446,

ga ' = gt-18239, 'gai ' = gt-18237, 'gan' = gt-18231, 'gang' = gt-18220, 'gao' = gt-18211, 'ge' = gt-18201, 'gei' = >-18184, 'gen' = >-18183, '庚' = gt -18181, 'palacio' = gt-18012, 'Gou' = >-17997, 'Gu' = gt-17988, 'gua' = gt-17970, 'raro' = gt-17964, 'guan' = gt-17961 , 'guang' => -17950, 'gui' = gt-17947, 'gun' = gt-17931, 'guo' => -17928,

Ha' = gt-17922, 'Hai' = gt-17759, 'Han' = gt-17752, 'Hang' = gt-17733, 'Hao' = gt-17730, 'Él' = gt-17721, '黑' = >-17703, 'hen' = gt -17701, 'heng' = >-17697, 'hong' = gt-17692, 'Hou' = gt-17683, 'Hu' = gt-17676, 'Hua' = gt-17496, 'Huai' = gt-17487 , 'Huan' = gt-17482, 'Huang' = gt-17468, 'Hui' = gt-17454, 'hun' = gt-17433, 'Huo' ' = gt-17427,

ji ' = gt-17417, 'Jia' = gt-17202, 'Jian' = gt-17185, 'Jiang' = gt-16983, 'Jiao' = gt-16970,'jie'=gt-16942,'jin'= gt-16915,'jing'=gt-16733,'jiong'=gt-16708,'jiu'=gt-16706,'ju'=gt-16689, 'juan' = gt-16664, 'jue' = gt- 16657, 'jun' = gt-16647,

ka ' = gt-16474, ' kai ' = gt-16470, ' kan ' = gt-16465, 'kang' = gt-16459, 'kao ' = gt-16452, 'ke' = gt-16448, 'ken' = gt-16433, 'keng' = gt-16429, 'kong' = gt -16427, 'kou' = gt-16423, 'ku' = gt-16419, 'kua' => -1641

2, 'kuai' = >-16407, 'ancho' = gt-16403, 'kuang' = gt-16401, 'kui' = gt-16393, 'kun' = gt-16220, 'kuo' = gt-16216,

la' = gt-16212, 'Lai' = >-16205, 'Lan' = gt-16202, 'Lang' = gt-16187, '老' = gt-16180, '了' = > -16171, 'lei' => -16169, 'frío' => -16158, '李' => -16155, 'lia' => -15959, 'lian' => -15958, 'Liang' = gt- 15944, 'Liao' = gt-15933, 'mentira' = gt-15920, 'Lin' = gt-15915, 'Ling' = gt-15903, 'Liu' = gt-15889, 'largo' '=gt-15878 ,'lou'=gt-15707,'lu'=gt-15701,'lv'=gt-15681,'luan'=>-15667,'lue'=gt-15661,'lun' = gt-15659, '罗' = gt-15652,

ma ' = gt-15640, ' mai ' = gt-15631, ' man ' = gt-15625, ' mang ' = gt-15454 , 'Mao' = gt -15448, 'I' = gt-15436, 'Mei' = gt-15435, 'Man' = gt-15419, 'Meng' = >-15416, 'mi' = >-15408, 'mian' = >-15394 , 'miao' = gt-15385, 'mie' = gt-15377, 'min' = gt-15375, 'ming' = gt-15369, 'miu' = gt-15363, 'mo' = gt-15362, ' mou' = gt-15183, 'mu' = gt-15180, 'na' = gt-15165, 'nai' = >-15158, 'nan' = gt-15153, 'nang' => -15150, 'nao' => -15149, 'ne' => -15144, 'nei' => -15143, 'nen' = gt-15141, 'neng' ' = gt-15140, 'ni' => -15139, 'año' = > -15128, 'madre' = gt-15121, 'pájaro' => -15119, 'nie' => -15117,' 'nin' =>-15110, 'nin' =>-15109, 'buey' => -14941, 'nong' =>-14937, 'nu' =>-14933, 'nv' =>-14930, 'nuan' = gt-14929, 'nue' = gt-14928, 'nuo' = gt-14926 ,

o ' = gt-14922, 'ou ' = gt-14921,

pa' = gt-14914, 'pai' = >-14908, 'pan' = gt -14902, 'pon'

= gt-14894, 'pao' = gt-14889, 'pei' = gt-14882, 'pen' = gt-14873, 'peng' = gt-14871, 'pi' = >-14857, 'pian' = gt -14678, 'ido' = gt-14674, 'pie' = gt-14670, 'pin' = gt-14668, 'ping' = gt-14663, 'po' = gt-14654, 'pu' = gt -14645 ,

qi'=gt-14630,'qia'=gt-14594,'qian'=gt-14429,'qiang'=gt-14407,'qiao'=gt-14399,' qie' = gt-14384, 'Qin' = gt-14379, 'Qing' = gt-14368, 'Qiong' = gt-14355, 'Qiu' = gt-14353, 'qu' = gt-14345, 'Quan' = gt -14170, 'que' => -14159, 'group' => -14151,

ran' = gt-14149, 'rang' = gt-14145, 'rao' = gt -14140, ' re' => -14137, 'ren' => -14135, 'reng' => -14125, 'ri' => -14123, 'rong' => -14122, 'rou' => -14112, 'ru' => -14109, 'ruan' => -14099, 'rui' = gt-14097, 'run' = gt-14094, 'ruan' = gt-14092,

sa'=gt-14090 ,'sai'=gt-14087,'san'=gt-14083,'san'=gt-13917,'sao'=gt-13914,'se'=>- 13910, 'sen' = >-13907, ' seng' = gt-13906, 'sha' = gt-13905, 'shai' = gt-13896, 'shan' = gt-13894, 'shang' = gt-13878, 'Shao' = gt-13870, 'Ella' = gt-13859, 'Shen' = gt-13847, 'Sheng' = gt-13831, 'Shi' = >-13658, 'Shou' = gt-13611, 'shu' => -13601, 'shua' = gt -13406, 'guapo' = gt-13404, 'shuan' = gt-13400, 'shuang' = gt-13398, 'agua' = gt-13395, ' 'shun' = gt-13391, 'shuo' = gt- 13387, 'si' = gt-13383, 'song' = gt-13367, 'sou' = gt-13359, 'su' = gt-13356, 'suan' = > ;-13147,'Tan' =>;- 13138,'Tang' = gt-13120,'Tao' =

gt-13107, 'te' = >-13096, 'Teng' = gt-13095, 'ti' = gt-13091, 'Tian' = gt-13076, 'Tiao' = gt-13068, 'tie' = gt - 13063, 'ting' = gt-13060, 'tong' = gt-12888, 'tou' = gt-12875, 'tu' = gt-12871, 'Tuan' => -12860, 'tui' = gt-12858, 'tun' = gt-12852, 'Tuo' = gt-12849,

wa' = gt-12838, 'Wei' = gt-12831, 'Wan' = >-12829,' Wang' = gt-12812, 'Wei' = gt-12802, 'Wen' = gt-12607, 'Weng' = gt-12597, 'wo' = gt-12594, 'Wu' = gt-12585,

Xi' = gt;-12556, 'Xia' = gt-12359, 'Xi'an' = gt-12346, 'Xiang' = gt-12320, 'Xiao' = gt-12300, 'Xie' = gt-12120 ,' , 'Xue' = gt-11867, 'Xun' = gt-11861,

ya ' = gt-11847, 'Yan' = gt-11831, 'Yang' = gt-11798, ' Yao' = gt-11781, 'ye' => -11604, 'yi' = gt-11589, 'yin' => -11536, 'ying' => -11358, 'yo' = gt-11340, 'yong' ' = gt-11339, 'tú' = gt-11324, 'yu' = gt-11303, 'yuan' = gt-11097, 'yue' = gt-11077, 'yun' = >-11067,

za' = gt-11055, 'zai' = gt-11052, 'zan' = gt-11045, 'Zang' => -11041, 'Zao' => -11038, 'ze' => ;-11024 , 'zei' = gt-11020, 'zen' = gt-11019, 'zen' = gt-11018, 'za' = gt-11014, 'Zhai' = gt-10838, 'Zhan' = gt-10832, ' Zhang' = gt-10815, 'Zhao' = gt-10800, 'zhe' = gt-10790, 'Zhen' = gt-10780, 'Zheng' = gt-10764, 'Zhi' = gt-10587, 'Zhong' = gt-10544, 'Zhou' = gt-10533, 'Zhu' = gt-10519, 'zhua' = >-10331, 'Chai' = >-10329, 'Zhuan' = gt-10328, 'Zhuang' = gt -10322, 'Persiguiendo' = gt-10315, 'Zhun' = >-10309, 'Zhuo' = gt-10307, ​​​​'Zi' = gt

-10296, 'Zong' = gt-10281, 'Zou' = gt-10274, 'zu' = gt-10270, 'Anzu' = gt-10262, 'zui' = gt-10260, 'Zun' = gt-10256 , 'left' = gt-10254

);

/**

*? Codificar chino en Pinyin

* ?@ parámetro? ¿Cadena? $utf8Datos? Datos del juego de caracteres utf8

*?@param? ¿Cadena? $sRetFormato? ¿Formato de devolución? [cabeza: consonante inicial | todos: pinyin completo]

*?@Return? Línea

*/

¿Pública? ¿Electricidad estática? ¿Función? codificar($datos utf8,?$sRetFormat='head'){

$sGBK? =?iconv('UTF-8 ',?GBK's?$datos utf8);

$aBuf? =?array();

¿Para qué? ($i=0,?$ iLoop = strlen($ sGBK);?$ i lt$ iLoop? $i )? {

$iChr? =?ord($ sGBK { $ I });

¿Si? ($iChr gt160)

$iChr? =?($ iChr lt lt8)? -?65536;

¿Si? ('cabeza'?===?$sRetFormat)

$aBuf[]? =?substr(self::zh2py($iChr),0,1);

Otro

$aBuf[]? =?self::zh2py($iChr);

}

¿Si? ('cabeza'?===?$sRetFormat)

¿Volver? implosionar('', ?$aBuf);

Otro

¿Regresar? implosionar('?',?$ aBuf);

}

/**

? *?Convertir chino a pinyin (un carácter a la vez)

? *?@param? ¿Número? $iWORD? ¿Se van a procesar caracteres de doble byte

? *?@¿devolver? ¿Cadena? ¿Ortografía

? */

¿Privado? ¿Electricidad estática? ¿Función? zh2py($iWORD)? {

if($I word gt;0? amp amp?$ iWORD lt160?)?{

¿Volver? chr($ iWORD);

}?Elsef? ($iWORD lt-20319 | | $iWORD gt;-10247)?{

¿Volver? '';

}? {

¿para cada uno? (self::$_aMaps?as?$py?=gt?$código)? {

¿Si ($código? gt? $iWORD)? Descanso;

$Resultado? =?$ py

}

¿Devolver? $ resultado

}

}

}/hzbigdog/Article/Details/37817135