Php tutorial to convert Chinese Pinyin code The original realization of this program is to convert the Chinese characters into the corresponding machine code, and then define the relative Pinyin, Chinese Pinyin conversion is just a matter of inquiry.
$ d = array (
array ("a", - 20319),
array ("ai", - 20317),
array ("an", - 20304),
array ("ang", - 20295),
array ("ao", - 20292),
array ("ba", - 20283),
array ("bai", - 20265),
array ("ban", - 20257),
array ("bang", - 20242),
array ("bao", - 20230),
array ("bei", - 20051),
array ("ben", - 20036),
array ("beng", - 20032),
array ("bi", - 20026),
array ("bian", - 20002),
array ("biao", - 19990),
array ("bie", - 19986),
array ("bin", - 19982),
array ("bing", - 19976),
array ("bo", - 19805),
array ("bu", - 19784),
array ("ca", - 19775),
array ("cai", - 19774),
array ("can", - 19763),
array ("cang", - 19756),
array ("cao", - 19751),
array ("ce", - 19746),
array ("ceng", - 19741),
array ("cha", - 19739),
array ("chai", - 19728),
array ("chan", - 19725),
array ("chang", - 19715),
array ("chao", - 19540),
array ("che", - 19531),
array ("chen", - 19525),
array ("cheng", - 19515),
array ("chi", - 19500),
array ("chong", - 19484),
array ("chou", - 19479),
array ("chu", - 19467),
array ("chuai", - 19289),
array ("chuan", - 19288),
array ("chuang", - 19281),
array ("chui", - 19275),
array ("chun", - 19270),
array ("chuo", - 19263),
array ("ci", - 19261),
array ("cong", - 19249),
array ("cou", - 19243),
array ("cu", - 19242),
array ("cuan", - 19238),
array ("cui", - 19235),
array ("cun", - 19227),
array ("cuo", - 19224),
array ("da", - 19218),
array ("dai", - 19212),
array ("dan", - 19038),
array ("dang", - 19023),
array ("dao", - 19018),
array ("de", - 19006),
array ("deng", - 19003),
array ("di", - 18996),
array ("dian", - 18977),
array ("diao", - 18961),
array ("die", - 18952),
array ("ding", - 18783),
array ("diu", - 18774),
array ("dong", - 18773),
array ("dou", - 18763),
array ("du", - 18756),
array ("duan", - 18741),
array ("dui", - 18735),
array ("dun", - 18731),
array ("duo", - 18722),
array ("e", - 18710),
array ("en", - 18697),
array ("er", - 18696),
array ("fa", - 18526),
array ("fan", - 18518),
array ("fang", - 18501),
array ("fei", - 18490),
array ("fen", - 18478),
array ("feng", - 18463),
array ("fo", - 18448),
array ("fou", - 18447),
array ("fu", - 18446),
array ("ga", - 18239),
array ("gai", - 18237),
array ("gan", - 18231),
array ("gang", - 18220),
array ("gao", - 18211),
array ("ge", - 18201),
array ("gei", - 18184),
array ("gen", - 18183),
array ("geng", - 18181),
array ("gong", - 18012),
array ("gou", - 17997),
array ("gu", - 17988),
array ("gua", - 17970),
array ("guai", - 17964),
array ("guan", - 17961),
array ("guang", - 17950),
array ("gui", - 17947),
array ("gun", - 17931),
array ("guo", - 17928),
array ("ha", - 17922),
array ("hai", - 17759),
array ("han", - 17752),
array ("hang", - 17733),
array ("hao", - 17730),
array ("he", - 17721),
array ("hei", - 17703),
array ("hen", - 17701),
array ("heng", - 17697),
array ("hong", - 17692),
array ("hou", - 17683),
array ("hu", - 17676),
array ("hua", - 17496),
array ("huai", - 17487),
array ("huan", - 17482),
array ("huang", - 17468),
array ("hui", - 17454),
array ("hun", - 17433),
array ("huo", - 17427),
array ("ji", - 17417),
array ("jia", - 17202),
array ("jian", - 17185),
array ("jiang", - 16983),
array ("jiao", - 16970),
array ("jie", - 16942),
array ("jin", - 16915),
array ("jing", - 16733),
array ("jiong", - 16708),
array ("jiu", - 16706),
array ("ju", - 16689),
array ("juan", - 16664),
array ("jue", - 16657),
array ("jun", - 16647),
array ("ka", - 16474),
array ("kai", - 16470),
array ("kan", - 16465),
array ("kang", - 16459),
array ("kao", - 16452),
array ("ke", - 16448),
array ("ken", - 16433),
array ("keng", - 16429),
array ("kong", - 16427),
array ("kou", - 16423),
array ("ku", -16419),
array ("kua", - 16412),
array ("kuai", - 16407),
array ("kuan", - 16403),
array ("kuang", - 16401),
array ("kui", - 16393),
array ("kun", - 16220),
array ("kuo", - 16216),
array ("la", - 16212),
array ("lai", - 16205),
array ("lan", - 16202),
array ("lang", - 16187),
array ("lao", - 16180),
array ("le", - 16171),
array ("lei", - 16169),
array ("leng", - 16158),
array ("li", - 16155),
array ("lia", - 15959),
array ("lian", - 15958),
array ("liang", - 15944),
array ("liao", -15933),
array ("lie", -15920),
array ("lin", - 15915),
array ("ling", - 15903),
array ("liu", - 15889),
array ("long", - 15878),
array ("lou", - 15707),
array ("lu", - 15701),
array ("lv", - 15681),
array ("luan", - 15667),
array ("lue", - 15661),
array ("lun", - 15659),
array ("luo", - 15652),
array ("ma", - 15640),
array ("mai", - 15631),
array ("man", - 15625),
array ("mang", - 15454),
array ("mao", - 15448),
array ("me", - 15436),
array ("mei", - 15435),
array ("men", - 15419),
array ("meng", - 15416),
array ("mi", - 15408),
array ("mian", - 15394),
array ("miao", - 15385),
array ("mie", - 15377),
array ("min", - 15375),
array ("ming", - 15369),
array ("miu", - 15363),
array ("mo", - 15362),
array ("mou", - 15183),
array ("mu", - 15180),
array ("na", - 15165),
array ("nai", - 15158),
array ("nan", - 15153),
array ("nang", - 15150),
array ("nao", - 15149),
array ("ne", - 15144),
array ("nei", - 15143),
array ("nen", - 15141),
array ("neng", -15140),
array ("ni", - 15139),
array ("nian", - 15128),
array ("niang", - 15121),
array ("niao", - 15119),
array ("nie", - 15117),
array ("nin", - 15110),
array ("ning", - 15109),
array ("niu", - 14941),
array ("nong", - 14937),
array ("nu", - 14933),
array ("nv", - 14930),
array ("nuan", - 14929),
array ("nue", - 14928),
array ("nuo", - 14926),
array ("o", - 14922),
array ("ou", -14921),
array ("pa", - 14914),
array ("pai", - 14908),
array ("pan", - 14902),
array ("pang", - 14894),
array ("pao", - 14889),
array ("pei", - 14882),
array ("pen", - 14873),
array ("peng", - 14871),
array ("pi", - 14857),
array ("pian", - 14678),
array ("piao", - 14674),
array ("pie", - 14670),
array ("pin", - 14668),
array ("ping", - 14663),
array ("po", - 14654),
array ("pu", - 14645),
array ("qi", - 14630),
array ("qia", - 14594),
array ("qian", - 14429),
array ("qiang", - 14407),
array ("qiao", - 14399),
array ("qie", - 14384),
array ("qin", - 14379),
array ("qing", - 14368),
array ("qiong", - 14355),
array ("qiu", - 14353),
array ("qu", - 14345),
array ("quan", -14170),
array ("que", - 14159),
array ("qun", - 14151),
array ("ran", - 14149),
array ("rang", - 14145),
array ("rao", -14140),
array ("re", - 14137),
array ("ren", - 14135),
array ("reng", - 14125),
array ("ri", - 14123),
array ("rong", - 14122),
array ("rou", - 14112),
array ("ru", - 14109),
array ("ruan", - 14099),
array ("rui", - 14097),
array ("run", - 14094),
array ("ruo", - 14092),
array ("sa", - 14090),
array ("sai", - 14087),
array ("san", - 14083),
array ("sang", - 13917),
array ("sao", -13914),
array ("se", - 13910),
array ("sen", - 13907),
array ("seng", - 13906),
array ("sha", - 13905),
array ("shai", - 13896),
array ("shan", - 13894),
array ("shang", - 13878),
array ("shao", - 13870),
array ("she", - 13859),
array ("shen", - 13847),
array ("sheng", -13831),
array ("shi", - 13658),
array ("shou", - 13611),
array ("shu", - 13601),
array ("shua", - 13406),
array ("shuai", - 13404),
array ("shuan", - 13400),
array ("shuang", - 13398),
array ("shui", - 13395),
array ("shun", - 13391),
array ("shuo", - 13387),
array ("si", - 13383),
array ("song", - 13367),
array ("sou", - 13359),
array ("su", - 13356),
array ("suan", - 13343),
array ("sui", - 13340),
array ("sun", - 13329),
array ("suo", - 13326),
array ("ta", - 13318),
array ("tai", - 13147),
array ("tan", - 13138),
array ("tang", -13120),
array ("tao", - 13107),
array ("te", - 13096),
array ("teng", - 13095),
array ("ti", - 13091),
array ("tian", - 13076),
array ("tiao", - 13068),
array ("tie", - 13063),
array ("ting", - 13060),
array ("tong", - 12888),
array ("tou", - 12875),
array ("tu", - 12871),
array ("tuan", - 12860),
array ("tui", - 12858),
array ("tun", - 12852),
array ("tuo", - 12849),
array ("wa", - 12838),
array ("wai", - 12831),
array ("wan", - 12829),
array ("wang", - 12812),
array ("wei", - 12802),
array ("wen", - 12607),
array ("weng", - 12597),
array ("wo", - 12594),
array ("wu", - 12585),
array ("xi", - 12556),
array ("xia", - 12359),
array ("xian", - 12346),
array ("xiang", - 12320),
array ("xiao", - 12300),
array ("xie", - 12120),
array ("xin", - 12099),
array ("xing", - 12089),
array ("xiong", - 12074),
array ("xiu", - 12067),
array ("xu", - 12058),
array ("xuan", - 12039),
array ("xue", - 11867),
array ("xun", - 11861),
array ("ya", - 11847),
array ("yan", - 11831),
array ("yang", - 11798),
array ("yao", - 11781),
array ("ye", - 11604),
array ("yi", - 11589),
array ("yin", - 11536),
array ("ying", - 11358),
array ("yo", - 11340),
array ("yong", - 11339),
array ("you", - 11324),
array ("yu", - 11303),
array ("yuan", - 11097),
array ("yue", - 11077),
array ("yun", - 11067),
array ("za", - 11055),
array ("zai", - 11052),
array ("zan", - 11045),
array ("zang", - 11041),
array ("zao", - 11038),
array ("ze", - 11024),
array ("zei", - 11020),
array ("zen", - 11019),
array ("zeng", - 11018),
array ("zha", - 11014),
array ("zhai", - 10838),
array ("zhan", - 10832),
array ("zhang", - 10815),
array ("zhao", - 10800),
array ("zhe", -10790),
array ("zhen", - 10780),
array ("zheng", - 10764),
array ("zhi", - 10587),
array ("zhong", - 10544),
array ("zhou", - 10533),
array ("zhu", - 10519),
array ("zhua", - 10331),
array ("zhuai", - 10329),
array ("zhuan", - 10328),
array ("zhuang", - 10322),
array ("zhui", -10315),
array ("zhun", -10309),
array ("zhuo", - 10307),
array ("zi", - 10296),
array ("zong", - 10281),
array ("zou", -10274),
array ("zu", -10270),
array ("zuan", - 10262),
array ("zui", -10260),
array ("zun", - 10256),
array ("zuo", - 10254)
);
function g ($ num) {
global $ d;
if ($ num> 0 && $ num <160) {
return chr ($ num);
}
elseif ($ num <-20319 || $ num> -10247) {
return "";
} else {
for ($ i = count ($ d) -1; $ i> = 0; $ i--)
{if ($ d [$ i] [1] <= $ num) break;}
return $ d [$ i] [0];
}
}
function c ($ str) {
$ ret = "";
for ($ i = 0; $ i <strlen ($ str); $ i ++) {
$ p = ord (substr ($ str, $ i, 1));
if ($ p> 160) {
$ q = ord (substr ($ str, ++ $ i, 1));
$ p = $ p * 256 + $ q-65536;
}
$ ret. = g ($ p);
}
return $ ret;
}
if (isset ($ _ post ['ok']) and strlen (trim ($ _ post ['chinese']))> 0) {
$ str = $ _post ['chinese'];
} else {
$ str = "walkman";
}
echo "Description: Translate Chinese into pinyin <br>";
echo c ($ str);
// echo c ("");
// echo c ("Chinese to pinyin");
?>
<p>
<form action = <? php echo $ _server ['php_self']?> method = "post">
Please enter the Chinese to be converted: <input type = "text" name = "chinese">
<input type = "submit" name = "ok" value = "Convert">
</ form>