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