干净的干字的汉语搞搞电影网拼音怎么写写。

最全的PHP汉字转拼音函数(共25961字,包含20902个基本汉字+5059生僻字) - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 16时,
感谢&南湖船老大&和&mark35,已经更新和修正。此函数非常简单,没有使用正则表达式和转码函数,只使用了简单的数组遍历,在兼容性和性能方面都比较好吧。pinyin.php&共25961字,包括&20902个基本汉字(Unicode码0x4e00-0x9fa5)和&6582个汉字(Unicode码0xdb5,只收集到其中5059生僻字的拼音,微软全拼码表中不包含这5059个生僻字。相比我之前发的&PHP汉字转拼音类(http://www.oschina.net/code/snippet_92)&全太多,这个类只支持3755字。)pinyin_gbk.php&共20902字,不过好像有100多字在GBK下不支持。pinyin_ms.php&共27900字(重复6998个多音字,实际字数20902个),拼音库来源于windosw系统自带全拼码表(虽然还可以收集一下其他拼音输入法码表,可能更多字数,但我觉得微软的字库比较权威,同时20902个汉字已经能满足常用汉字的所有需求了,字库越大程序性能越低。)pinyin_mini.php&只支持3755字,如果是UTF-8,需要使用&iconv&转码,优点文件小,速度快。性能测试如下:pinyin.php&这函数我本机测试执行时间在0.04左右,如果把汉字转拼音库直接改成数组,可以提高0.03秒,不过文件要大一半,在意执行时间,不在意文件大小的,可以自己改一下。pinyin_mini.php&执行时间比较快,大概在0.004秒左右,比这个大库快10倍。在意性能,对拼音库要求不高的朋友可以使用这个类。为考虑程序性能,没有考虑支持多音字,我个人觉得也没有必要牺牲更多性能去支持多音字。如果喜欢折腾这个问题的朋友,可以下载uniku.zip、TableTextServiceSimplifiedQuanPin.zip,里面有我收集的一些词库,对解决多音字问题应该有帮助。
代码片段(6)
pinyin.php&~&206KB&&&&
(3327)&&&&
pinyin_gbk.php&~&146KB&&&&
pinyin_ms.php&~&222KB&&&&
(1312)&&&&
pinyin_mini.php&~&9KB&&&&
(1027)&&&&
$start_time = microtime(1);
// 此类是根据ASCII码转换,GB2312库对多音字也无能为力,此类优点是性能比较高。
// GB2312标准共收录6763个汉字,此类的算法只支持其中的一级汉字3755个,不在范围内的汉字是无法转换,如:中国前总理朱镕基的“镕”字。
class pinyin{
public static function utf8_to($s, $isfirst = false) {
return self::to(self::utf8_to_gb2312($s), $isfirst);
public static function utf8_to_gb2312($s) {
return iconv('UTF-8', 'GB2312//IGNORE', $s);
// 字符串必须为GB2312编码
public static function to($s, $isfirst = false) {
$res = '';
$len = strlen($s);
$pinyin_arr = self::get_pinyin_array();
for($i=0; $i&$ $i++) {
$ascii = ord($s[$i]);
if($ascii & 0x80) {
$ascii2 = ord($s[++$i]);
$ascii = $ascii * 256 + $ascii2 - 65536;
if($ascii & 255 && $ascii & 0) {
if(($ascii &= 48 && $ascii &= 57) || ($ascii &= 97 && $ascii &= 122)) {
$res .= $s[$i]; // 0-9 a-z
}elseif($ascii &= 65 && $ascii &= 90) {
$res .= strtolower($s[$i]); // A-Z
$res .= '_';
}elseif($ascii & -20319 || $ascii & -10247) {
$res .= '_';
foreach($pinyin_arr as $py=&$asc) {
if($asc &= $ascii) {
$res .= $isfirst ? $py[0] : $
public static function to_first($s) {
$ascii = ord($s[0]);
if($ascii & 0xE0) {
$s = self::utf8_to_gb2312($s[0].$s[1].$s[2]);
}elseif($ascii & 0x80) {
if($ascii &= 65 && $ascii &= 90) {
return strtolower($s[0]);
}elseif($ascii &= 97 && $ascii &= 122) {
return $s[0];
if(strlen($s) & 2) {
$asc = ord($s[0]) * 256 + ord($s[1]) - 65536;
if($asc&=-20319 && $asc&=-20284) return 'a';
if($asc&=-20283 && $asc&=-19776) return 'b';
if($asc&=-19775 && $asc&=-19219) return 'c';
if($asc&=-19218 && $asc&=-18711) return 'd';
if($asc&=-18710 && $asc&=-18527) return 'e';
if($asc&=-18526 && $asc&=-18240) return 'f';
if($asc&=-18239 && $asc&=-17923) return 'g';
if($asc&=-17922 && $asc&=-17418) return 'h';
if($asc&=-17417 && $asc&=-16475) return 'j';
if($asc&=-16474 && $asc&=-16213) return 'k';
if($asc&=-16212 && $asc&=-15641) return 'l';
if($asc&=-15640 && $asc&=-15166) return 'm';
if($asc&=-15165 && $asc&=-14923) return 'n';
if($asc&=-14922 && $asc&=-14915) return 'o';
if($asc&=-14914 && $asc&=-14631) return 'p';
if($asc&=-14630 && $asc&=-14150) return 'q';
if($asc&=-14149 && $asc&=-14091) return 'r';
if($asc&=-14090 && $asc&=-13319) return 's';
if($asc&=-13318 && $asc&=-12839) return 't';
if($asc&=-12838 && $asc&=-12557) return 'w';
if($asc&=-12556 && $asc&=-11848) return 'x';
if($asc&=-11847 && $asc&=-11056) return 'y';
if($asc&=-11055 && $asc&=-10247) return 'z';
public static function get_pinyin_array() {
static $py_
if(isset($py_arr)) return $py_
$k = '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';
$v = '-2|-2|-2|-2|-2|-2|-2|-2|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1';
$key = explode('|', $k);
$val = explode('|', $v);
$py_arr = array_combine($key, $val);
arsort($py_arr);
return $py_
var_dump(0xE0);
for($i=0; $i&=255; $i++) {
var_dump("$i :". chr($i));
var_dump(pinyin::utf8_to('朱镕基'));
var_dump(pinyin::utf8_to('我是中国人'));
var_dump(pinyin::utf8_to('PHP汉字转拼音类'));
var_dump(pinyin::utf8_to('GB2312标准共收录6763个汉字,不在范围内的汉字是无法转换,如:中国前总理朱镕基的“镕”字。'));
var_dump(pinyin::utf8_to('`-=QWERTYUIOP[]ASDFGHJKL;ZXCVBNM,./abcdefghijklmnopqrstuvwxyz'));
var_dump(pinyin::utf8_to('朱镕基', 1));
var_dump(pinyin::utf8_to('我是中国人', 1));
var_dump(pinyin::utf8_to('PHP汉字转拼音类', 1));
var_dump(pinyin::utf8_to('GB2312标准共收录6763个汉字,不在范围内的汉字是无法转换,如:中国前总理朱镕基的“镕”字。', 1));
var_dump(pinyin::utf8_to('`-=QWERTYUIOP[]ASDFGHJKL;ZXCVBNM,./abcdefghijklmnopqrstuvwxyz', 1));
var_dump(pinyin::to_first('朱镕基'));
var_dump(pinyin::to_first('我是中国人'));
var_dump(pinyin::to_first('PHP汉字转拼音类'));
var_dump(pinyin::to_first('GB2312标准共收录6763个汉字,不在范围内的汉字是无法转换,如:中国前总理朱镕基的“镕”字。'));
var_dump(pinyin::to_first('▂▃▄▅▆▇█▉`-=QWERTYUIOP[]ASDFGHJKL;ZXCVBNM,./abcdefghijklmnopqrstuvwxyz'));
echo number_format(microtime(1) - $start_time, 6);
uniku.zip&~&4MB&&&&
(19387)&&&&
TableTextServiceSimplifiedQuanPin.zip&~&347KB&&&&
开源中国-程序员在线工具:
相关的代码(1283)
这个,要up一下
2楼:南湖船老大 发表于
我只想说:C:\Program Files\Windows NT\TableTextService 这个目录下就是输入法的码表,微软的。找到那个全拼的码表文件,总共有27900个,包括繁体。
还可以去网上找其他码表,so easy
3楼:空城 发表于
引用来自“南湖船老大”的评论我只想说:C:\Program Files\Windows NT\TableTextService 这个目录下就是输入法的码表,微软的。找到那个全拼的码表文件,总共有27900个,包括繁体。
还可以去网上找其他码表,so easy
谢谢,不过这个函数是为方便一些PHP开发的web程序,把汉字转换成拼音什么哦。
4楼:空城 发表于
哦,&uniku.zip 里面还有一个10W多的词库,包括,常用词+拼音+英文翻译。有需要的朋友可以下载看看。
5楼:mark35 发表于
$rs .= $s{$i};
$s{$i}.$s{++$i}.$s{++$i}
$pinyins[$z]{0}
PHP已经不推荐使用{}来操作数组下标,用[]更标准
6楼:南湖船老大 发表于
引用来自“空城”的评论引用来自“南湖船老大”的评论我只想说:C:\Program Files\Windows NT\TableTextService 这个目录下就是输入法的码表,微软的。找到那个全拼的码表文件,总共有27900个,包括繁体。
还可以去网上找其他码表,so easy
谢谢,不过这个函数是为方便一些PHP开发的web程序,把汉字转换成拼音什么哦。我的意思是这个码表里的字更多一点,可以用这个里面的,写个程序转换一下即可
7楼:空城 发表于
引用来自“mark35”的评论$rs .= $s{$i};
$s{$i}.$s{++$i}.$s{++$i}
$pinyins[$z]{0}
PHP已经不推荐使用{}来操作数组下标,用[]更标准
感谢,已经改成[]了。
8楼:空城 发表于
引用来自“南湖船老大”的评论引用来自“空城”的评论引用来自“南湖船老大”的评论我只想说:C:\Program Files\Windows NT\TableTextService 这个目录下就是输入法的码表,微软的。找到那个全拼的码表文件,总共有27900个,包括繁体。
还可以去网上找其他码表,so easy
谢谢,不过这个函数是为方便一些PHP开发的web程序,把汉字转换成拼音什么哦。我的意思是这个码表里的字更多一点,可以用这个里面的,写个程序转换一下即可再次感谢。下午下班时已经明白你的意思了,呵呵。目前已经增加你说的库。不过有5059生僻字,这个全拼码表中也没有。我想这5059生僻字几乎用不着吧。另个像多音字这种问题。要想解决,看来只能再加大库,同时程序性能将再次大打折扣了。不知还有什么高见没?
9楼:李惟 发表于
相关资料:
10楼:hell0cat 发表于
要做成C扩展 外加配置多音字文件才行
11楼:疯狂的流浪 发表于
不错的东西
12楼:空城 发表于
引用来自“JSK”的评论要做成C扩展 外加配置多音字文件才行谢谢了,C扩展,一般开源WEB程序基本上无法使用了哦。C扩展适应一些大型网站自己开发的程序吧。
13楼:空城 发表于
引用来自“南湖船老大”的评论引用来自“空城”的评论引用来自“南湖船老大”的评论我只想说:C:\Program Files\Windows NT\TableTextService 这个目录下就是输入法的码表,微软的。找到那个全拼的码表文件,总共有27900个,包括繁体。
还可以去网上找其他码表,so easy
谢谢,不过这个函数是为方便一些PHP开发的web程序,把汉字转换成拼音什么哦。我的意思是这个码表里的字更多一点,可以用这个里面的,写个程序转换一下即可我发现一个新问题了。微软全拼的码表,共有27900个,里面有重复6998个字,因为是多音字。实质只有20902个基本汉字,和我之前收集的一样了哦。
14楼:Coder羽毛 发表于
引用来自“空城”的评论引用来自“南湖船老大”的评论引用来自“空城”的评论引用来自“南湖船老大”的评论我只想说:C:\Program Files\Windows NT\TableTextService 这个目录下就是输入法的码表,微软的。找到那个全拼的码表文件,总共有27900个,包括繁体。
还可以去网上找其他码表,so easy
谢谢,不过这个函数是为方便一些PHP开发的web程序,把汉字转换成拼音什么哦。我的意思是这个码表里的字更多一点,可以用这个里面的,写个程序转换一下即可我发现一个新问题了。微软全拼的码表,共有27900个,里面有重复6998个字,因为是多音字。实质只有20902个基本汉字,和我之前收集的一样了哦。......折腾了
15楼:南湖船老大 发表于
引用来自“空城”的评论引用来自“南湖船老大”的评论引用来自“空城”的评论引用来自“南湖船老大”的评论我只想说:C:\Program Files\Windows NT\TableTextService 这个目录下就是输入法的码表,微软的。找到那个全拼的码表文件,总共有27900个,包括繁体。
还可以去网上找其他码表,so easy
谢谢,不过这个函数是为方便一些PHP开发的web程序,把汉字转换成拼音什么哦。我的意思是这个码表里的字更多一点,可以用这个里面的,写个程序转换一下即可我发现一个新问题了。微软全拼的码表,共有27900个,里面有重复6998个字,因为是多音字。实质只有20902个基本汉字,和我之前收集的一样了哦。查了下资料,1993年,Unicode 1.1版本推出,收录中国大陆、台湾、日本及韩国通用字符集的汉字,总共有20,902个。看来微软的那个码表还是很早前的规范。2W多也足够了,常用汉字也就6K多。也查了下GBK,你搜集的确实是最完整的了。
16楼:空城 发表于
引用来自“南湖船老大”的评论引用来自“空城”的评论引用来自“南湖船老大”的评论引用来自“空城”的评论引用来自“南湖船老大”的评论我只想说:C:\Program Files\Windows NT\TableTextService 这个目录下就是输入法的码表,微软的。找到那个全拼的码表文件,总共有27900个,包括繁体。
还可以去网上找其他码表,so easy
谢谢,不过这个函数是为方便一些PHP开发的web程序,把汉字转换成拼音什么哦。我的意思是这个码表里的字更多一点,可以用这个里面的,写个程序转换一下即可我发现一个新问题了。微软全拼的码表,共有27900个,里面有重复6998个字,因为是多音字。实质只有20902个基本汉字,和我之前收集的一样了哦。查了下资料,1993年,Unicode 1.1版本推出,收录中国大陆、台湾、日本及韩国通用字符集的汉字,总共有20,902个。看来微软的那个码表还是很早前的规范。2W多也足够了,常用汉字也就6K多。也查了下GBK,你搜集的确实是最完整的了。谢谢,我也觉得2W多也足够了。只是感觉多音字解决起来,性能就没保障了。
17楼:hexawing 发表于
关键是能否100%解决多音字吧……那些个当姓的时候才多音的字(单啊曾啊仇啊什么的),谁知道你是不是个人名啊……
18楼:空城 发表于
引用来自“hexawing”的评论关键是能否100%解决多音字吧……那些个当姓的时候才多音的字(单啊曾啊仇啊什么的),谁知道你是不是个人名啊……我上面已经说了没考虑多音字。 而且100%解决多音字?不现实吧,google、百度做了这么多年中文搜索。收集了N年的词库。也不能做到100%的准确啊。
19楼:hexawing 发表于
引用来自“空城”的评论引用来自“hexawing”的评论关键是能否100%解决多音字吧……那些个当姓的时候才多音的字(单啊曾啊仇啊什么的),谁知道你是不是个人名啊……我上面已经说了没考虑多音字。 而且100%解决多音字?不现实吧,google、百度做了这么多年中文搜索。收集了N年的词库。也不能做到100%的准确啊。好吧,可能我语气不太对,我发完也发现了=_=我的意思其实是,多音字太难处理了,没考虑也是人之常情……
20楼:tubexu 发表于
开源从代码分享开始
空城的其它代码您现在的位置:&&>>&&>>&&>>&&>>&正文
关于企业、商店的牌匾、商品包装、广告等正确使用汉字和汉语拼音的若干规定
&&&&&&&&&&★★★
【字体: 】
关于企业、商店的牌匾、商品包装、广告等正确使用汉字和汉语拼音的若干规定
作者:未知&&&&文章来源:&&&&点击数:&&&&更新时间:&&&&
  根据《国务院批转国家语言文字工作委员会关于废止&第二次汉字简化方案(草案)&和纠正社会用字混乱现象请示的通知》(国务院国发[1986]64号文件)精神,特制订本规定。  一、企业、商店的牌匾、商品包装、广告等具有广泛的社会性,用字必须合乎规范。  1、繁简字问题。以1986年10月10日重新发表的《简化字总表》为标准,不得使用已被简化了的繁体字和不符合《简化字总表》规定的各种简体字(包括已废止的《第二次汉字简化方案(草案)》中的简化字)。  2、异体字问题。以《第一批异体字整理表》为依据,凡是在这个表中已被淘汰的异体字,不得使用。《第一批异体字整理表》与《简化字总表》不一致的,以《简化字总表》为准。  3、字形问题。印刷体以《印刷通用汉字字形表》为标准,不得采用旧字体。  4、具有装饰作用的各种艺术字,包括篆书,隶书,草书等,要求书写正确、美观,易于辨认。  二、出口商品的包装等,原则上应该用简化字。但考虑到外销产品的实际需要,一向用繁体字的,可暂不作改动。  三、书写行款,一般应采用左起横行;竖行的,应该由右向左。  四、使用汉语拼音,要求以普通话语音为标准,拼写准确,字母书写正确,提倡分词连写。在商品包装、广告等上面出现企业名称、地址时,应当使用汉字,或汉字、汉语拼音并用,不得仅用汉语拼音。  五、本规定自下达之日起施行。在此以前用字不合规范的商品包装等,到用完为止。企业、商店的牌匾今后应当采用规范字书写。
文章录入:戴红斌&&&&责任编辑:dhb&
上一篇文章: 下一篇文章:
【】【】【】【】【】
  网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
Copyright & , All Rights Reserved 地址:温州市鼓楼街134号
电话:6(传真)
邮编:325000QQ:文档资料库一直致力于帮助更多的人得到更多更有价值的学习资料。如果您有关于本站的任何意见,欢迎可随时与我们的客户服务人员取得联系。
赞助商广告您现在的位置是: &
小学汉语拼音教学十字法
摘 要:汉语拼音是小学语文教学重要的组成部分,是学生识字、学习普通话的有效工具,是低幼认知衔接的桥梁和纽带,也是学生今后良好的学习习惯,奠定学习基础的重要时期,是决定学生今后是否有兴趣学好语文的关键时期。而处于小学阶段的学生,由于年龄小,想象力丰富,喜动好奇,喜欢模仿,意志力比较薄弱,自我控制能力差,学习行为在很大程度上随着兴趣的波动而变化。
特别说明:本文献摘要信息,由维普资讯网提供,本站只提供索引,不对该文献的全文内容负责,不提供免费的全文下载服务。
金月芽期刊网 2017}

我要回帖

更多关于 的拼音怎么写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信