看到的文章,转过来留用,哈哈

汉字转拼音类(全拼与首字母)

<?php
class GetPingYing {
private $pylist = array(
'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
);
//全部拼音
public function getAllPY($chinese, $delimiter = '', $length = 0) {
$py = $this->zh_to_pys($chinese, $delimiter);
if($length) {
$py = substr($py, 0, $length);
}
return $py;
}
//拼音首个字母
public function getFirstPY($chinese){
$result = '' ;
for ($i=0; $i<strlen($chinese); $i++) {
$p = ord(substr($chinese,$i,1));
if ($p>160) {
$q = ord(substr($chinese,++$i,1));
$p = $p*256 + $q - 65536;
}
$result .= substr($this->zh_to_py($p),0,1);
}
return $result ;
} //-------------------中文转拼音--------------------------------//
private function zh_to_py($num, $blank = '') {
if($num>0 && $num<160 ) {
return chr($num);
} elseif ($num<-20319||$num>-10247) {
return $blank;
} else {
foreach ($this->pylist as $py => $code) {
if($code > $num) break;
$result = $py;
}
return $result;
}
} private function zh_to_pys($chinese, $delimiter = ' ', $first=0){
$result = array();
for($i=0; $i<strlen($chinese); $i++) {
$p = ord(substr($chinese,$i,1));
if($p>160) {
$q = ord(substr($chinese,++$i,1));
$p = $p*256 + $q - 65536;
}
$result[] = $this->zh_to_py($p);
if ($first) {
return $result[0];
}
}
return implode($delimiter, $result);
}
}
?>

使用方法:

//测试
$PingYing = new GetPingYing();
echo '<br>',$PingYing->getFirstPY('羽泉乐队,歌不错-推荐'),'<br>';//yqldgbc-tj
echo $PingYing->getAllPY('羽泉乐队,歌不错-推荐'),'<br>'; //yuquanleduigebucuo-tuijian

PHP汉字转拼音类的更多相关文章

  1. 汉字转拼音类EcanConvertToCh

    /// <summary> /// 汉字转拼音类 /// </summary> public class EcanConvertToCh { //定义拼音区编码数组 priva ...

  2. 优化后的 google提供的汉字转拼音类(针对某些htc等手机的不兼容情况)

    /* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  3. asp.net 汉字转拼音类

    前段时间公司人员反应OA里的汉字拼音首字母不准他们又要用,没办法自己就从网上搜有没有好的,看了很多都是首字母拼不出来或有些字母变为另一个,但最后找了很多还是有一个好用的,暂未发现有不准的. using ...

  4. PHP:汉字转拼音类(全拼与首字母)

    [php] <?php class GetPingYing { private $pylist = array( 'a'=>-20319,'ai'=>-20317,'an'=> ...

  5. PHP 汉字转拼音类

    本文转载自:http://www.epubit.com.cn/article/867 <?php function Pinyin($_String, $_Code='gb2312') { $_D ...

  6. C#汉字转拼音帮助类

    using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressi ...

  7. C#汉字转拼音(支持多音字)

    之前由于项目需要,中间需要一个汉字转拼音和首拼的功能来做查询,感觉这种功能基本已经成熟化了,于是查找了相关的代码,首先引入眼帘的是下面两篇文章 1.C# 汉字转拼音(支持GB2312字符集中所有汉字) ...

  8. C# 汉字转拼音(支持GB2312字符集中所有汉字)

    GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个. 分区表示  GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号.这种表示方式也称为区位码. )- ...

  9. C# 汉字转拼音(转)

    (一)将汉字转化成全拼代码: private void button1_Click(object sender, EventArgs e) { this.textBox2.Text = Hz2Py.C ...

随机推荐

  1. mysql使用笔记(四)

    一.选择合适的数据类型 1. CHAR vs VCHAR     char是固定长度的字符类型,而varchar是可变长度的字符类型.char(M)的数据列中,每个值都占用M个字节,如果某个长度小于M ...

  2. 快速了解AngularJs HTTP响应拦截器

    任何时候,如果我们想要为请求添加全局功能,例如身份认证.错误处理等,在请求发送给服务器之前或服务器返回时对其进行拦截,是比较好的实现手段. angularJs通过拦截器提供了一个从全局层面进行处理的途 ...

  3. linux笔记:RPM软件包管理-源码包管理

    源码包和rpm包的区别: 源码包安装过程: 编译安装前准备(执行./configure --prefix=路径 来配置软件的安装位置,以及做其他的配置和检查): 编译和安装(直接在目录下执行make和 ...

  4. 20145218 《Java程序设计》第六周学习总结

    20145218 <Java程序设计>第六周学习总结 教材学习内容总结 第十章 输入/输出 10.1 InputStream与OutputStream 10.1.1 串流设计的概念 Jav ...

  5. 工作日志 jquery slideDown slideUp

    jquery里面使用 slideDown 和  slideUp会有一个像素的偏差

  6. jquery 常用函数集锦

    html() 方法的功能是设置或获取元素中显示的内容css() 方法的功能是设置或获取元素的某项样式属性 $("#61dh a").css('color','#123456'); ...

  7. Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  8. wordpress为不同的category添加不同的模板

    在category中新建了三个:NEWS,EVENTS,BLOG,当点击这三个category时想使用不同的template生成不同风格的页面,该怎么实现? 一般来说,wordpress的catego ...

  9. thinkjs——修改where默认条件为or

    写之前,得先反思一下:总以为大神同事的高冷是一种与大家格格不入的节奏,可是当自己遇到的问题难以解决的时候,大神同事一下子就让问题迎刃而解,于是,满眼的敬佩之感:一定努力当一个像大神同事一样的progr ...

  10. 盘点十大最流行的Linux服务器发行版

    随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充.很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用.但伴随着Linux新版本的发行,其中每一个不同版本的L ...