仓酷云

标题: PHP网站制作之将汉字转换为拼音(PHP代码) [打印本页]

作者: 海妖    时间: 2015-2-4 00:11
标题: PHP网站制作之将汉字转换为拼音(PHP代码)
不过语法好学,但是怎么用语法来实现每个人都有每个人的方式,几乎是各有千秋。然而借鉴别人成功的代码,绝对是有益无害,因此,多看那些经过千锤百炼凝出来的经典代码,是进阶的最好方法。汉字|拼音|转换   转换逻辑需求参看GB2312字符代码表
http://ash.jp/code/cn/gb2312tbl.htm
<?php
$d=array(
  array("a",-20319),
  array("ai",-20317),
  array("an",-20304),
  array("ang",-20295),
  array("ao",-20292),
  array("ba",-20283),
  array("bai",-20265),
  array("ban",-20257),
  array("bang",-20242),
  array("bao",-20230),
  array("bei",-20051),
  array("ben",-20036),
  array("beng",-20032),
  array("bi",-20026),
  array("bian",-20002),
  array("biao",-19990),
  array("bie",-19986),
  array("bin",-19982),
  array("bing",-19976),
  array("bo",-19805),
  array("bu",-19784),
  array("ca",-19775),
  array("cai",-19774),
  array("can",-19763),
  array("cang",-19756),
  array("cao",-19751),
  array("ce",-19746),
  array("ceng",-19741),
  array("cha",-19739),
  array("chai",-19728),
  array("chan",-19725),
  array("chang",-19715),
  array("chao",-19540),
  array("che",-19531),
  array("chen",-19525),
  array("cheng",-19515),
  array("chi",-19500),
  array("chong",-19484),
  array("chou",-19479),
  array("chu",-19467),
  array("chuai",-19289),
  array("chuan",-19288),
  array("chuang",-19281),
  array("chui",-19275),
  array("chun",-19270),
  array("chuo",-19263),
  array("ci",-19261),
  array("cong",-19249),
  array("cou",-19243),
  array("cu",-19242),
  array("cuan",-19238),
  array("cui",-19235),
  array("cun",-19227),
  array("cuo",-19224),
  array("da",-19218),
  array("dai",-19212),
  array("dan",-19038),
  array("dang",-19023),
  array("dao",-19018),
  array("de",-19006),
  array("deng",-19003),
  array("di",-18996),
  array("dian",-18977),
  array("diao",-18961),
  array("die",-18952),
  array("ding",-18783),
  array("diu",-18774),
  array("dong",-18773),
  array("dou",-18763),
  array("du",-18756),
  array("duan",-18741),
  array("dui",-18735),
  array("dun",-18731),
  array("duo",-18722),
  array("e",-18710),
  array("en",-18697),
  array("er",-18696),
  array("fa",-18526),
  array("fan",-18518),
  array("fang",-18501),
  array("fei",-18490),
  array("fen",-18478),
  array("feng",-18463),
  array("fo",-18448),
  array("fou",-18447),
  array("fu",-18446),
  array("ga",-18239),
  array("gai",-18237),
  array("gan",-18231),
  array("gang",-18220),
  array("gao",-18211),
  array("ge",-18201),
  array("gei",-18184),
  array("gen",-18183),
  array("geng",-18181),
  array("gong",-18012),
  array("gou",-17997),
  array("gu",-17988),
  array("gua",-17970),
  array("guai",-17964),
  array("guan",-17961),
  array("guang",-17950),
  array("gui",-17947),
  array("gun",-17931),
  array("guo",-17928),
  array("ha",-17922),
  array("hai",-17759),
  array("han",-17752),
  array("hang",-17733),
  array("hao",-17730),
  array("he",-17721),
  array("hei",-17703),
  array("hen",-17701),
  array("heng",-17697),
  array("hong",-17692),
  array("hou",-17683),
  array("hu",-17676),
  array("hua",-17496),
  array("huai",-17487),
  array("huan",-17482),
  array("huang",-17468),
  array("hui",-17454),
  array("hun",-17433),
  array("huo",-17427),
  array("ji",-17417),
  array("jia",-17202),
  array("jian",-17185),
  array("jiang",-16983),
  array("jiao",-16970),
  array("jie",-16942),
  array("jin",-16915),
  array("jing",-16733),
  array("jiong",-16708),
  array("jiu",-16706),
  array("ju",-16689),
  array("juan",-16664),
  array("jue",-16657),
  array("jun",-16647),
  array("ka",-16474),
  array("kai",-16470),
  array("kan",-16465),
  array("kang",-16459),
  array("kao",-16452),
  array("ke",-16448),
  array("ken",-16433),
  array("keng",-16429),
  array("kong",-16427),
  array("kou",-16423),
  array("ku",-16419),
  array("kua",-16412),
  array("kuai",-16407),
  array("kuan",-16403),
  array("kuang",-16401),
  array("kui",-16393),
  array("kun",-16220),
  array("kuo",-16216),
  array("la",-16212),
  array("lai",-16205),
  array("lan",-16202),
  array("lang",-16187),
  array("lao",-16180),
  array("le",-16171),
  array("lei",-16169),
  array("leng",-16158),
  array("li",-16155),
  array("lia",-15959),
  array("lian",-15958),
  array("liang",-15944),
  array("liao",-15933),
  array("lie",-15920),
  array("lin",-15915),
  array("ling",-15903),
  array("liu",-15889),
  array("long",-15878),
  array("lou",-15707),
  array("lu",-15701),
  array("lv",-15681),
  array("luan",-15667),
  array("lue",-15661),
  array("lun",-15659),
  array("luo",-15652),
  array("ma",-15640),
  array("mai",-15631),
  array("man",-15625),
  array("mang",-15454),
  array("mao",-15448),
  array("me",-15436),
  array("mei",-15435),
  array("men",-15419),
  array("meng",-15416),
  array("mi",-15408),
  array("mian",-15394),
  array("miao",-15385),
  array("mie",-15377),
  array("min",-15375),
  array("ming",-15369),
  array("miu",-15363),
  array("mo",-15362),
  array("mou",-15183),
  array("mu",-15180),
  array("na",-15165),
  array("nai",-15158),
  array("nan",-15153),
  array("nang",-15150),
  array("nao",-15149),
  array("ne",-15144),
  array("nei",-15143),
  array("nen",-15141),
  array("neng",-15140),
  array("ni",-15139),
  array("nian",-15128),
  array("niang",-15121),
  array("niao",-15119),
  array("nie",-15117),
  array("nin",-15110),
  array("ning",-15109),
  array("niu",-14941),
  array("nong",-14937),
  array("nu",-14933),
  array("nv",-14930),
  array("nuan",-14929),
  array("nue",-14928),
  array("nuo",-14926),
  array("o",-14922),
  array("ou",-14921),
  array("pa",-14914),
  array("pai",-14908),
  array("pan",-14902),
  array("pang",-14894),
  array("pao",-14889),
  array("pei",-14882),
  array("pen",-14873),
  array("peng",-14871),
  array("pi",-14857),
  array("pian",-14678),
  array("piao",-14674),
  array("pie",-14670),
  array("pin",-14668),
  array("ping",-14663),
  array("po",-14654),
  array("pu",-14645),
  array("qi",-14630),
  array("qia",-14594),
  array("qian",-14429),
  array("qiang",-14407),
  array("qiao",-14399),
  array("qie",-14384),
  array("qin",-14379),
  array("qing",-14368),
  array("qiong",-14355),
  array("qiu",-14353),
  array("qu",-14345),
  array("quan",-14170),
  array("que",-14159),
  array("qun",-14151),
  array("ran",-14149),
  array("rang",-14145),
  array("rao",-14140),
  array("re",-14137),
  array("ren",-14135),
  array("reng",-14125),
  array("ri",-14123),
  array("rong",-14122),
  array("rou",-14112),
  array("ru",-14109),
  array("ruan",-14099),
  array("rui",-14097),
  array("run",-14094),
  array("ruo",-14092),
  array("sa",-14090),
  array("sai",-14087),
  array("san",-14083),
  array("sang",-13917),
  array("sao",-13914),
  array("se",-13910),
  array("sen",-13907),
  array("seng",-13906),
  array("sha",-13905),
  array("shai",-13896),
  array("shan",-13894),
  array("shang",-13878),
  array("shao",-13870),
  array("she",-13859),
  array("shen",-13847),
  array("sheng",-13831),
  array("shi",-13658),
  array("shou",-13611),
  array("shu",-13601),
  array("shua",-13406),
  array("shuai",-13404),
  array("shuan",-13400),
  array("shuang",-13398),
  array("shui",-13395),
  array("shun",-13391),
  array("shuo",-13387),
  array("si",-13383),
  array("song",-13367),
  array("sou",-13359),
  array("su",-13356),
  array("suan",-13343),
  array("sui",-13340),
  array("sun",-13329),
  array("suo",-13326),
  array("ta",-13318),
  array("tai",-13147),
  array("tan",-13138),
  array("tang",-13120),
  array("tao",-13107),
  array("te",-13096),
  array("teng",-13095),
  array("ti",-13091),
  array("tian",-13076),
  array("tiao",-13068),
  array("tie",-13063),
  array("ting",-13060),
  array("tong",-12888),
  array("tou",-12875),
  array("tu",-12871),
  array("tuan",-12860),
  array("tui",-12858),
  array("tun",-12852),
  array("tuo",-12849),
  array("wa",-12838),
  array("wai",-12831),
  array("wan",-12829),
  array("wang",-12812),
  array("wei",-12802),
  array("wen",-12607),
  array("weng",-12597),
  array("wo",-12594),
  array("wu",-12585),
  array("xi",-12556),
  array("xia",-12359),
  array("xian",-12346),
  array("xiang",-12320),
  array("xiao",-12300),
  array("xie",-12120),
  array("xin",-12099),
  array("xing",-12089),
  array("xiong",-12074),
  array("xiu",-12067),
  array("xu",-12058),
  array("xuan",-12039),
  array("xue",-11867),
  array("xun",-11861),
  array("ya",-11847),
  array("yan",-11831),
  array("yang",-11798),
  array("yao",-11781),
  array("ye",-11604),
  array("yi",-11589),
  array("yin",-11536),
  array("ying",-11358),
  array("yo",-11340),
  array("yong",-11339),
  array("you",-11324),
  array("yu",-11303),
  array("yuan",-11097),
  array("yue",-11077),
  array("yun",-11067),
  array("za",-11055),
  array("zai",-11052),
  array("zan",-11045),
  array("zang",-11041),
  array("zao",-11038),
  array("ze",-11024),
  array("zei",-11020),
  array("zen",-11019),
  array("zeng",-11018),
  array("zha",-11014),
  array("zhai",-10838),
  array("zhan",-10832),
  array("zhang",-10815),
  array("zhao",-10800),
  array("zhe",-10790),
  array("zhen",-10780),
  array("zheng",-10764),
  array("zhi",-10587),
  array("zhong",-10544),
  array("zhou",-10533),
  array("zhu",-10519),
  array("zhua",-10331),
  array("zhuai",-10329),
  array("zhuan",-10328),
  array("zhuang",-10322),
  array("zhui",-10315),
  array("zhun",-10309),
  array("zhuo",-10307),
  array("zi",-10296),
  array("zong",-10281),
  array("zou",-10274),
  array("zu",-10270),
  array("zuan",-10262),
  array("zui",-10260),
  array("zun",-10256),
  array("zuo",-10254)
);
function g($num){
  global $d;
  if($num>0&&$num<160){
   return chr($num);
  }
  elseif($num<-20319||$num>-10247){
   return "";
  }else{
   for($i=count($d)-1;$i>=0;$i--)
    {if($d[$i][1]<=$num)break;}
   return $d[$i][0];
  }
}

function c($str){
  $ret="";
  for($i=0;$i<strlen($str);$i++){
   $p=ord(substr($str,$i,1));
   if($p>160){
    $q=ord(substr($str,++$i,1));
    $p=$p*256+$q-65536;
   }
   $ret.=g($p);
  }
  return $ret;
}
if (isset($_POST['ok']) and strlen(trim($_POST['chinese']))>0) {
    $str = $_POST['chinese'];
} else {
     $str = "walkman";
}
echo "申明:将中文转换为拼音<br>";
echo c($str);
?>
<p>
<form action=<?php echo $_SERVER['PHP_SELF'] ?> method="POST">
请输出要转换的中文:<input type="text" name="chinese">
                     <input type="submit" name="ok" value="转换">
</form>
建议大家买一本书,而不光是在网上看一些零碎的资料,一本书毕竟会讲的系统一些,全面一些,而且印刷的书不受电脑的限制,但是建议在看书的时候最好旁边有电脑,这样可以很及时地上机实践。
作者: 金色的骷髅    时间: 2015-2-4 09:52
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 爱飞    时间: 2015-2-7 19:41
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 冷月葬花魂    时间: 2015-2-13 01:50
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 莫相离    时间: 2015-2-13 21:20
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 分手快乐    时间: 2015-2-23 02:59
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 第二个灵魂    时间: 2015-3-7 04:09
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 老尸    时间: 2015-3-14 08:47
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 因胸联盟    时间: 2015-3-17 12:09
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 柔情似水    时间: 2015-3-22 05:06
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: admin    时间: 2015-3-27 16:10
做为1门年轻的语言,php一直很努力。
作者: 小魔女    时间: 2015-3-29 12:54
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 再现理想    时间: 2015-4-6 22:10
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者: 兰色精灵    时间: 2015-4-12 14:29
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 若天明    时间: 2015-4-20 20:12
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 不帅    时间: 2015-5-4 11:01
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 再见西城    时间: 2015-5-4 18:10
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 变相怪杰    时间: 2015-6-21 14:54
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 精灵巫婆    时间: 2015-6-23 21:43
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 只想知道    时间: 2015-6-24 21:55
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2