当前位置: 首页 > 图文教程 > 网络编程 > ASP > 实例分析之用ASP编程实现网络内容快速查找的代码

ASP
asp实现取得数组中的最大值的代码
asp 将日期格式化为需要的格式
asp 下产生任意位数随机密码的代码
asp下返回以千分位显示数字格式化的数值
asp重定向页面的方法总结
asp下去除数组中重复的项的方法
asp下实现 重新排序数字数组的代码
asp 验证输入网址是否有效并可以访问 与正则验证输入网址
asp验证Ip格式的函数
asp实现生成由数字,大写字母,小写字母指定位数的随机数
asp 格式化sql中的like字符串
asp 实现显示所有的服务器变量值的函数
asp 取得用户真实IP,对代理地址仍然有效的函数
asp 通用数据库连接过程函数
asp 字符串截取函数
asp下实现格式化文件大小以MB显示的函数
asp 下用正则表达式检测邮箱格式的函数
asp 实现检测字符串是否为纯字母和数字组合的函数
asp代码实现检测组件是否安装的函数
asp通过JMAIL实现通用发送函数

实例分析之用ASP编程实现网络内容快速查找的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 70 ::
收藏到网摘: n/a

有一天我突发奇想,要是我每到一个网站,那里都能立刻调出我需要看的信息,那岂非美妙得很。接下来我想更深入地考虑这个问题,坐到椅子上拿一支铅笔,却不知道自己写什么。如此一来,我还是得着手对付代码它们。
我的朋友开了一个小型站点,原本是我设计的。这是个检验我想法的好平台。所以我写出代码,上传了文件。真叫人兴奋,程序工作起来煞是圆满,同时也证明我的想法的确不错。
以前看过一些网络使用者倾向报告,其中有一个规律给我印象很深。说是大多数用户如果在三次点击内无法找到自己需要的内容,就会立刻离开该站点。我的代码就可以针对这个问题,保险用户只要点一次鼠标就找到目标。在我的例子里,假设有个用户上了Yahoo,检索关键字为Fireplace Accessories(飞行器材配件)。在给出的结果里,他来到我朋友的站点,将看到"你正在搜索Fireplace Accessories"等字样的画面。接着他会按照网站上的提示,直接到想要去的页面。
你要作的第一步,是在global.asa文件中建立一个初始变量,放置在你的Sub Session_onStart()程序中。
复制代码 代码如下:

Sub Session_onStart()
 Referer = Trim(Request.ServerVariables("HTTP_REFERER"))
 If Referer = "" Then
  Referer = "None"
 End If
  Session("Referer") = Referer
End Sub

接着我们来着手看看如何完成程序的主要功能。
因为url经过了编码,所以首先要把来访者主机的指向数据还原成对我们有用的东西。建立一个ASP页面,叫它decode.asp,是我们程序的主干。第一个功能是要对编码过的指向头进行解码。程序有点长,而且很直接,没有什么转弯抹角,如果你嫌麻烦,不如到www.popunet.com的"网虫进修班"上面找到本文,用"拷贝/粘贴"大法吧。
源代码
  第二件要作的事情是:从URL头信息里分离出查询部分--这个才是我们需要的。
复制代码 代码如下:

 '从指向URL中分离查询字段。
Function isProduct(pStr)
 If pStr <> "" And lCase(pStr) <> "none" Then
  '向后搜索字段
  temp = inStrRev(pStr, "/")
  '得到目录分离的位置
  tempStr = Right(pStr, temp)
  '得到有关数据长度
  temp2 = Len(pStr)
  '得到查询数据行
  pStr = Mid(pStr, temp, temp2)
  '设定返回功能的值
  isProduct = pStr
Else
  isProduct = ""
End If
End Function

接着是要确立查找的明确标准。为达到这个目的,建立两个静态空间"指?查找指向数据
复制代码 代码如下:

Function Finder(byRef prodList, byVal refList)
'模糊查询
refList = lCase(refList)
' 通过指针循环查找匹配字段
For i = 0 To uBound(prodList) - 1
If inStr(refList, lCase(prodList(i, 0))) Then
'找到匹配
tHolder = tHolder & "Are You looking For " _
& "" _
& prodList(i, 0) & "
"
End If
'第二次循环
Next
'返回结果
Finder = tHolderEnd Function
通过一个inclue,把我们做好的decode.asp放到需要此功能的任何页面,大功告成啦。
  具体如下:
  '如果指向头不为空,调出此功能If lCase(Session("Referer")) <> "none" OR Session("Referer") <> "" Then' 解析指向数据 Response.Write vbCrLf & "
" _ & Finder(pArray, URLDecode(isProduct(Session("Referer")))) _ & "
" & vbCrLf
End If