php中将汉字转换成拼音的函数代码


Posted in PHP onSeptember 08, 2012

点击这里下载源文件

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|shua|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; $i160) { $_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
PHP 相关文章推荐
一个php作的文本留言本的例子(六)
Oct 09 PHP
php 无限极分类
Mar 27 PHP
PHP 文件扩展名 获取函数
Jun 03 PHP
php与mysql建立连接并执行SQL语句的代码
Jul 04 PHP
深入解析php之apc
May 15 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
PHP Web木马扫描器代码分享
Sep 06 PHP
PHP统计当前在线用户数实例讲解
Oct 21 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 PHP
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 #PHP
header跳转和include包含问题详解
Sep 08 #PHP
php比较多维数组中值的大小排序实现代码
Sep 08 #PHP
JSON在PHP中的应用介绍
Sep 08 #PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 #PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 #PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 #PHP
You might like
php xml文件操作代码(一)
2009/03/20 PHP
php 函数使用方法与函数定义方法
2010/05/09 PHP
php中error与exception的区别及应用
2014/07/28 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
使用Angular.js开发的注意事项
2016/10/19 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
python模拟enum枚举类型的方法小结
2015/04/30 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
Django中Middleware中的函数详解
2019/07/18 Python
python字典的常用方法总结
2019/07/31 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
python 读取二进制 显示图片案例
2020/04/24 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
Ratchet 模态框的实现
2020/08/19 HTML / CSS
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
最新奶茶店创业计划书
2014/01/25 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
集体生日活动方案
2014/08/18 职场文书
生活小常识广播稿
2014/09/16 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
商家认证委托书格式
2014/10/16 职场文书
小学生运动会广播
2015/08/19 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫