网赚论坛

 找回密码
 免费注册
查看: 244|回复: 0
打印 上一主题 下一主题

ASP汉字转拼音 支持自定义特殊词语

[复制链接]

26

主题

26

帖子

104

积分

Ⅰ级财主

Rank: 1

积分
104
跳转到指定楼层
楼主
发表于 2017-9-13 19:26:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这次更新博客,将生成静态文件时的文件名用文章标题的拼音,这就涉及到如何将文字转成拼音了,在网上大概的看了看,千篇一律的那个函数,应该只可以在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, "工作", " ")
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 = 97 and x = 48 and x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2024-11-23 09:53 , Processed in 0.514801 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表