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和ACCESS写聊天室(二)
Oct 09 PHP
腾讯QQ php程序员面试题目整理
Jun 08 PHP
用php的ob_start来生成静态页面的方法分析
Mar 09 PHP
深入php 正则表达式的学习探讨
Jun 06 PHP
php遍历数组的4种方法总结
Jul 05 PHP
PHP+MYSQL实现读写分离简单实战
Mar 13 PHP
PHP实现通过strace定位故障原因的方法
Apr 29 PHP
PHP实现搜索时记住状态的方法示例
May 11 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
YII框架常用技巧总结
Apr 27 PHP
Laravel框架控制器的request与response用法示例
Sep 30 PHP
layui数据表格自定义每页条数limit设置
Oct 26 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提交后跳转
2013/06/23 PHP
php常用表单验证类用法实例
2015/06/18 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
简单谈谈json跨域
2016/03/13 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
python生成excel的实例代码
2017/11/08 Python
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
python线程中同步锁详解
2018/04/27 Python
python中Lambda表达式详解
2019/11/20 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
python 写一个性能测试工具(一)
2020/10/24 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
DOM和JQuery对象有什么区别
2016/11/11 面试题
大学生就业求职信
2014/06/12 职场文书
企业2014年度工作总结
2014/12/10 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python