PHP基于自定义函数实现的汉字转拼音功能实例
本文实例讲述了PHP基于自定义函数实现的汉字转拼音功能。分享给大家供大家参考,具体如下:
整个过程用到了pinyin.table文件。
pinyin.php
160){ $q=ord(substr($text,++$i,1)); $p=$p*256+$q-65536; } if($p>0&&$p<160){ $r[$k]=chr($p); }elseif($p<-20319||$p>-10247){ $r[$k]=''; }else{ for($j=$tmps-1;$j>=0;$j--){ if($data[$j][1]<=$p)break; } $r[$k]=$data[$j][0]; } $k++; } returnimplode($exp,$r); } functionconvert($str,$from='utf-8',$to='gb2312'){ if(!$str)return''; $from=strtolower($from); $to=strtolower($to); if($from==$to)return$str; $from=str_replace('gbk','gb2312',$from); $to=str_replace('gbk','gb2312',$to); $from=str_replace('utf8','utf-8',$from); $to=str_replace('utf8','utf-8',$to); if($from==$to)return$str; $tmp=array(); if(function_exists('iconv')){ if(is_array($str)){ foreach($stras$key=>$val){ $tmp[$key]=iconv($from,$to."//IGNORE",$val); } return$tmp; }else{ returniconv($from,$to."//IGNORE",$str); } }elseif(function_exists('mb_convert_encoding')){ if(is_array($str)){ foreach($stras$key=>$val){ $tmp[$key]=mb_convert_encoding($val,$to,$from); } return$tmp; }else{ returnmb_convert_encoding($str,$to,$from); } }else{ require_once'convert.func.php'; returndconvert($str,$to,$from); } } ?>"/>
pinyin.table
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
备注:新建text文件复制下面代码到文件,重命名文件名pinyin.table
PS:这里再为大家提供几款本站拼音与字母相关工具供大家参考:
在线中英文根据首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu
在线汉字转换成拼音工具:
http://tools.jb51.net/transcoding/pinyin
在线中文汉字转拼音工具:
http://tools.jb51.net/transcoding/hanzi2pinyin
在线中文汉字拼音对照转换工具:
http://tools.jb51.net/transcoding/zh_pinyin
在线字母大小写转换工具:
http://tools.jb51.net/transcoding/upper
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP编码与转码操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》及《PHP错误与异常处理方法总结》
希望本文所述对大家PHP程序设计有所帮助。