来看看下面的函数,加入少量注释:
这是一个自定义特殊词语的一个函数
以下内容为程序代码: 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) 他将中文转换到拼音
[code]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[/code]
使用方法:
以下内容为程序代码: response.write pinyin("中国你好,欢迎来到中国!") |
这种方法,转换成的拼音格式文件名非常友好,对SEO方面有要求的小程们,可以试试的