卢湾网站建设  |  普陀网站建设  |  黄浦网站建设  |  闸北网站建设  |  静安网站建设  |  虹口网站建设
浦东网站建设  |  杨浦网站建设  |  青浦网站建设  |  松江网站建设  |  奉贤网站建设  |  宝山网站建设
徐汇网站建设  |  长宁网站建设  |  闵行网站建设  |  嘉定网站建设  |  金山网站建设  |  南汇网站建设
 
首页 >> 网站建设知识 >> 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方面有要求的小程们,可以试试的。

---------本信息来自[上海网站建设网]  (2008-8-6)  
   相关新闻  ↓
挖掘网站另一层次的记忆10/29
Z-Blog防治垃圾留言的策略10/29
选择网站建设提供商需要注意的问题10/29
将mysql数据导入access数据库10/22
设计好程序,并将有关代码隐藏起来10/22
access中数据表的自动重新联接10/22
轻松用Access打造图书管理系统10/22
将ACCESS转化成SQL2000要注意重要的问题10/22
css设计的6个注意事项10/19
CSS 期望表 (Wishlist)10/19
建立用户体验过程的实用指南10/13
上海网站设计教您定位网站的主题和名称10/13
网站投资你和我的20个自身检查10/13
这是一个成功的网站设计10/13
上海网站建设中心:企业建站的意义10/13
解决WordPress 2.6日志ID不连续的方法10/3
快速导航
★★★ 优 惠 套 餐 ★★★ 
网站首页 行业新闻
公司介绍 网站建设
联系我们 网站维护
虚拟主机 网站优化
企业邮局 解决方案
域名注册 优惠套餐
网站优化诊断分析 成功案例
Google优化 OA/MIS系统
OA/MIS系统知识 网站优化知识
域名空间邮局知识 网站建设知识
工作机会 售后服务
常见问题 网站地图
 021-68046287   13916794789
上海做网站公司 上海做网页公司 上海制作网站公司 上海网站建设 上海网站制作 GOOGLE优化 WAP网站建设  上海网站建设公司  上海网络公司  上海网站维护TOP↑
COPYRIGHT © 2005-2010 上海网站建设中心[上海亿岸网络科技有限公司]     沪ICP备05037033号
TEL:021-68046287(直线) / 68046297-806 / 13916794789(7X24) FAX:021-68046297-802   Mail:Sales◎yxunw.net [把◎换成@]