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

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

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2399 更新时间: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的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

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

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

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

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