转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
[asp]关键词只替换一次的写法         ★★★

[asp]关键词只替换一次的写法

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1759 更新时间:2010/8/3 12:57:21
[asp]关键词只替换一次的写法,

了解SEO的人,都会对站内链接感兴趣,如何做好站内链接也是一门学问,但不属于本文的讨论范畴,本文旨在于介绍一种替换的方法,让站内链接更方便且更加合理…

1, 为了统一管理站内链接的文本的链接地址,我们需要一个表,结构如下:

[KeyWords] ID Name Url

这个表里将记录所有文本和所指向链接的对应关系

2, 默认已经取得内容为 Content

以下是代码片段:

Dim xyContent : xyContent = ""
If Content<> "" Then  
            Dim RsSite,SqlSite
            Set RsSite = Server.CreateObject("Adodb.RecordSet")
            SqlSite = "Select * From [KeyWords] Order By Len(Name) DESC"
            RsSite.Open SqlSite,Conn,1,1
            Do While Not RsSite.Eof
                xyContent = Replace(Content,RsSite("Name"),"##"&RsSite("ID")&"##",1,1)
            RsSite.MoveNext
            Loop
            RsSite.Close
            Set RsSite = Nothing
            Set RsSite = Server.CreateObject("Adodb.RecordSet")
            SqlSite = "Select * From [KeyWords] Order By Len(Name) DESC"
            RsSite.Open SqlSite,Conn,1,1
            Do While Not RsSite.Eof
                xyContent = Replace(xyContent,"##"&RsSite("ID")&"##","<a href=’"&RsSite("Url")&"’ target=’_blank’>"&RsSite("Name")&"</a>",1,1)
            RsSite.MoveNext
            Loop
            RsSite.Close
            Set RsSite = Nothing
End If

红色字体部分:

Len(Name) DESC 目的是先替换长关键词,后替换短关键词,以不至于可能存在的包含关系出现替换错误的尴尬局面.

Replace(Content,RsSite("Name"),"##"&RsSite("ID")&"##",1,1)  目的是把所有匹配到的关键词的第一个替换成由##ID##组成的特殊字符组合,至于Replace函数的参数说明,如下:

Replace 函数

描述: 返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。
语法:
Replace(expression, find, replacewith[, compare[, count[, start]]])
Replace 函数的语法有以下参数:
参数:

expression 必选。 字符串表达式 包含要替代的子字符串。
find 必选。被搜索的子字符串。
replacewith 必选。用于替换的子字符串。
start 可选。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。在和count 关联时必须用
count 可选。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。在和 start 关联时必须用。
compare 可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,缺省值为 0 ,这意味着必须进行二进制比较。
设置:
compare 参数可以有以下值:
常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。
返回值:
Replace 返回以下值:
如果 Replace 返回
expression 为零长度 零长度字符串 ("")。
expression 为 Null 错误。
find 为零长度 expression 的副本。
replacewith 为零长度 expression 的副本,其中删除了所有由 find 参数指定的内容。
start > Len(expression) 零长度字符串。
count 为 0 expression 的副本。
说明:
Replace 函数的返回值是经过替换(从由 start 指定的位置开始到 expression 字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。

      综合上述,便完成了一个只替换一次关键词的做法.


[Web开发]一个关于ASP运行时间计算的代码  [Web开发]ASP:检测含有中文字符串的实际长度
[Web开发]asp 中英文字符长度检测判断函数  [Web开发]安全维护 IIS asp 站点的高级技巧
[Web开发]常见ISAPI_Rewrite规则写法  [Access]ASP&SQL让select查询结果随机排序的实现方法
[Web开发]ASP字符串截取函数  [实用文档]求职书的写法(应往届毕业生)
[Web开发]Asp无组件生成缩略图方法详解  [Web开发]asp编程中优化数据库方法详解
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    An error occurred on the server when processing the URL. Please contact the system administrator.

    If you are the system administrator please click here to find out more about this error.

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao 信息产业部ICP备案号:鄂ICP备11006601号

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台