欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP汉字转拼音,支持自定义特殊词语】,下面是详细的分享!
ASP汉字转拼音,支持自定义特殊词语
这次更新了一下自已所用的博客程序,将生成静态文件时的文件名用文章标题的拼音,这就涉及到如何将文字转成拼音了,在网上大概的看了看,千篇一律的那个函数,应该只可以在GB2312下正常,也没有做太多考虑,这就拿出了曾在无忧系统的源码里看到过的一段用上了。
来看看下面的函数,加入少量注释:
这是一个自定义特殊词语的一个函数
| 以下为引用的内容: Function getEnglish(ByVal Str) getEnglish=Str getEnglish=Replace(getEnglish, "中国", " china ") getEnglish=Replace(getEnglish, "策划", " plan ") getEnglish=Replace(getEnglish, "免费", " free ") getEnglish=Replace(getEnglish, "介绍", " intro ") getEnglish=Replace(getEnglish, "技巧", " skill ") getEnglish=Replace(getEnglish, "生活", " life ") getEnglish=Replace(getEnglish, "活动", " activity ") getEnglish=Replace(getEnglish, "工具", " tool ") getEnglish=Replace(getEnglish, "联盟", " union ") getEnglish=Replace(getEnglish, "注册", " register ") getEnglish=Replace(getEnglish, "经验", " experience ") getEnglish=Replace(getEnglish, "翻译", " translate ") getEnglish=Replace(getEnglish, "项目", " item ") getEnglish=Replace(getEnglish, "网站", " web-site ") getEnglish=Replace(getEnglish, "英语", " english ") getEnglish=Replace(getEnglish, "英文", " english ") getEnglish=Replace(getEnglish, "雅虎", " yahoo ") getEnglish=Replace(getEnglish, "新浪", " sina ") getEnglish=Replace(getEnglish, "支付宝", " alipay ") getEnglish=Replace(getEnglish, "交易", " trade ") getEnglish=Replace(getEnglish, "网店", " b2c ") getEnglish=Replace(getEnglish, "升级", " update ") getEnglish=Replace(getEnglish, "杂志", " magazine ") getEnglish=Replace(getEnglish, "空间", " space ") getEnglish=Replace(getEnglish, "爱情", " love ") getEnglish=Replace(getEnglish, "朋友", " friend ") getEnglish=Replace(getEnglish, "友情", " friend ") getEnglish=Replace(getEnglish, "链接", " like ") getEnglish=Replace(getEnglish, "标签", " label ") getEnglish=Replace(getEnglish, "运行", " running ") getEnglish=Replace(getEnglish, "管理", " manager ") getEnglish=Replace(getEnglish, "管理", " manage ") getEnglish=Replace(getEnglish, "页面", " page ") getEnglish=Replace(getEnglish, "模板", " template ") getEnglish=Replace(getEnglish, "游戏", " game ") getEnglish=Replace(getEnglish, "论坛", " forum ") getEnglish=Replace(getEnglish, "新闻", " news ") getEnglish=Replace(getEnglish, "音乐", " music ") getEnglish=Replace(getEnglish, "帮助", " help ") getEnglish=Replace(getEnglish, "优化", " optimize ") getEnglish=Replace(getEnglish, "软件", " soft ") getEnglish=Replace(getEnglish, "教程", " tech ") getEnglish=Replace(getEnglish, "下载", " download ") getEnglish=Replace(getEnglish, "搜索", " search ") getEnglish=Replace(getEnglish, "引擎", " engine ") getEnglish=Replace(getEnglish, "蜘蛛", " spider ") getEnglish=Replace(getEnglish, "日志", " log ") getEnglish=Replace(getEnglish, "博客", " blog ") getEnglish=Replace(getEnglish, "百度", " baidu ") getEnglish=Replace(getEnglish, "谷歌", " google ") getEnglish=Replace(getEnglish, "邮箱", " mailbox ") getEnglish=Replace(getEnglish, "邮件", " mail ") getEnglish=Replace(getEnglish, "域名", " domain ") getEnglish=Replace(getEnglish, "测试", " test") getEnglish=Replace(getEnglish, "演示", " demo ") getEnglish=Replace(getEnglish, "音乐", " music ") getEnglish=Replace(getEnglish, "笑话", " joke ") getEnglish=Replace(getEnglish, "产品", " product ") getEnglish=Replace(getEnglish, "留言", " message ") getEnglish=Replace(getEnglish, "反馈", " freedback ") getEnglish=Replace(getEnglish, "评论", " comment ") getEnglish=Replace(getEnglish, "推荐", " commend ") getEnglish=Replace(getEnglish, "共享", " share ") getEnglish=Replace(getEnglish, "资源", " resource ") getEnglish=Replace(getEnglish, "插件", " plugins ") getEnglish=Replace(getEnglish, "本本", " notebook ") getEnglish=Replace(getEnglish, "电脑", " computer ") getEnglish=Replace(getEnglish, "系统", " system ") getEnglish=Replace(getEnglish, "学校", " school ") getEnglish=Replace(getEnglish, "无忧", " 5u ") getEnglish=Replace(getEnglish, "工作", " job ") getEnglish=Replace(getEnglish, "信息", " info ") getEnglish=Replace(getEnglish, "娱乐", " ent ") getEnglish=Replace(getEnglish, "汽车", " car ") getEnglish=Replace(getEnglish, "手机", " mobile ") getEnglish=Replace(getEnglish, "网络", " network ") getEnglish=Replace(getEnglish, "老板", " boss ") getEnglish=Replace(getEnglish, "狗", " dog ") getEnglish=Replace(getEnglish, "电视", " tv ") getEnglish=Replace(getEnglish, "电影", " movie ") End Function |
然后就是最关键的函数pinyin(byval chinese) 他将中文转换到拼音
| 以下为引用的内容: function pinyin(byval chinese) chinese=replace(chinese, "/", ""): chinese=replace(chinese, "\", "") chinese=replace(chinese, "*", ""): chinese=replace(chinese, "]", "") chinese=replace(chinese, "[", ""): chinese=replace(chinese, "}", "") chinese=replace(chinese, "{", ""): chinese=replace(chinese, "'", "") chinese=getEnglish(chinese) '在这里使用getEnglish先将特殊词语转换 dim pinyinstr, istr, iIsCn, IsCn dim pinyinconn, rs, i, x '在这里打开拼音库 '你也可以将拼音库的并入你的程序数据库里. on error resume next set pinyinconn=server.createobject("Adodb.connection") pinyinconn.open "Provider=Microsoft.Jet.OLEdb.4.0;Data Source=" & server.mappath("pinyin.Asp") if err then pinyin="": set pinyinconn=nothing: exit function IsCn=true for i=1 to len(chinese) iIsCn=IsCn ' 获取上次是不是中文的值 istr=Mid(chinese, i, 1) x=Asc(istr) if (x >=65 and x <=90) or (x >=97 and x <=122) or (x >=48 and x <=57) or istr=" " then IsCn=false ' 这些是英文,数字(保留字符),不改动 if istr=" " then istr="-" else set rs=pinyinconn.execute("select Top 1 [pinyin] From [pinyin] Where [content] like '%" & istr & "%';") if not rs.eof then istr=lcase(rs(0)): IsCn=true ' 中文 else IsCn=false if istr=" " then istr="-" else istr="" ' 将空格转换成-,如果是其他字符则清除 end if rs.close: set rs=nothing end if if iIsCn=IsCn then pinyinstr=pinyinstr & istr else pinyinstr=pinyinstr & "-" & istr pinyinstr=replace(pinyinstr, "--", "-") pinyinstr=replace(pinyinstr, "__", "_") next if right(pinyinstr, 1)="-" then pinyinstr=left(pinyinstr, len(pinyinstr) - 1) if right(pinyinstr, 1)="_" then pinyinstr=left(pinyinstr, len(pinyinstr) - 1) if left(pinyinstr, 1)="-" then pinyinstr=right(pinyinstr, len(pinyinstr) - 1) if left(pinyinstr, 1)="_" then pinyinstr=right(pinyinstr, len(pinyinstr) - 1) pinyinconn.close set pinyinconn=nothing pinyin=trim(pinyinstr) end Function |
使用方法:
| 以下为引用的内容: response.write pinyin("中国你好,欢迎来到中国!") |
这种方法,转换成的拼音格式文件名非常友好,对SEO方面有要求的小程们,可以试试的。
以上所分享的是关于ASP汉字转拼音,支持自定义特殊词语,下面是编辑为你推荐的有价值的用户互动:
相关问题:EXCEL里面怎么将汉字转换成拼音?
答:自定义函数,借用VLOOKUP函数。 宏代码如下: (EXCEL表免费奉上,见附件) Public Function MyFun(rng1 As Range) As S... >>详细
相关问题:excel汉字转拼音
答:方法如下: 1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表; 2.执行“工具→宏→Visual Basic编辑器”命令(或... >>详细
相关问题:搜狗拼音如何添加自定义汉字
答:搜狗拼音是自动添加自定义词语的,比如说你要添加“我的问问团队”这个词,先打“WDWWTD”,一个字一个字地选,选完后,下次你再打这六个字母就会出现在列表里了。 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
