最大的网站策划、网站运营、网络营销人才免费学习、培训、认证、展示、交流、工作平台,服务国家经济建设与民族伟大复兴!
中国第一部网站创业、网站策划与运营研究专著

查看完整版本: 用ASP编程实现网络内容快速查找

厨卫百分百 2007-2-21 18:56

用ASP编程实现网络内容快速查找

有一天我突发奇想,要是我每到一个[URL=http://www.IT201.com/][color=#0000ff]网站[/color][/url],那里都能立刻调出我需要看的信息,那岂非美妙得很。接下来我想更深入地考虑这个问题,坐到椅子上拿一支铅笔,却不知道自己写什么。如此一来,我还是得着手对付代码它们。

??我的朋友开了一个小型站点,原本是我设计的。这是个检验我想法的好平台。所以我写出代码,上传了文件。真叫人兴奋,程序工作起来煞是圆满,同时也证明我的想法的确不错。

??以前看过一些网络使用者倾向报告,其中有一个规律给我印象很深。说是大多数用户如果在三次点击内无法找到自己需要的内容,就会立刻离开该站点。我的代码就可以针对这个问题,保险用户只要点一次鼠标就找到目标。在我的例子里,假设有个用户上了[wiki]yahoo[/wiki],检索关键字为Fireplace Accessories(飞行器材配件)。在给出的结果里,他来到我朋友的站点,将看到"你正在[url=http://www.it201.com/][color=#0000ff]搜索[/color][/url]Fireplace Accessories"等字样的画面。接着他会按照[url=http://www.it201.com/][color=#0000ff]网站[/color][/url]上的提示,直接到想要去的页面。

??你要作的第一步,是在global.asa文件中建立一个初始变量,放置在你的Sub [wiki]session[/wiki]_onStart()程序中。

[font=新宋体]??Sub Session_onStart()
?? Referer = Trim(R[wiki]EQ[/wiki]uest.ServerVariables("HTTP_REFERER"))
?? If Referer = "" Then
??  Referer = "None"
?? End If
??  Session("Referer") = Referer
??End Sub
[/font]??接着我们来着手看看如何完成程序的主要功能。

??因为url经过了编码,所以首先要把来访者主机的指向数据还原成对我们有用的东西。建立一个[WIKI]ASP[/wiki]页面,叫它decode.ASP,是我们程序的主干。第一个功能是要对编码过的指向头进行解码。程序有点长,而且很直接,没有什么转弯抹角,如果你嫌麻烦,不如到www.popunet.com的"网虫进修班"上面找到本文,用"拷贝/粘贴"大法吧。

??[wiki]源代码[/wiki]

  第二件要作的事情是:从URL头信息里分离出查询部分--这个才是我们需要的。

[font=新宋体] '从指向URL中分离查询字段。
?Function [wiki]ISP[/wiki]roduct(pStr)
?? If pStr <> "" And lCase(pStr) <> "none" Then
??  '向后[/font][url=http://www.it201.com/][font=新宋体][color=#0000ff]搜索[/color][/font][/url][font=新宋体]字段
??  temp = inStrRev(pStr, "/")
??  '得到目录分离的位置
??  tempStr = Right(pStr, temp)
??  '得到有关数据长度
??  temp2 = Len(pStr)
??  '得到查询数据行
??  pStr = Mid(pStr, temp, temp2)
??  '设定返回功能的值
??  is[wiki]PR[/wiki]oduct = pStr
??Else
??  isProduct = ""
??End If
?End Function[/font]
??接着是要确立查找的明确标准。为达到这个目的,建立两个静态空间"指?查找指向数据

??[font=新宋体]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

[/font]??通过一个inclue,把我们做好的decode.asp放到需要此功能的任何页面,大功告成啦。

  具体如下:

[font=新宋体]  '如果指向头不为空,调出此功能If lCase(Session("Referer")) <> "none" OR Session("Referer") <> "" Then' 解析指向数据 Response.Write vbCrLf & "

??" _ & Finder(pArray, URLDecode(isProduct(Session("Referer")))) _ & "
??" & vbCrLf
??End If[/font]

zzl2001 2007-2-22 23:22

::39:: ::34:: ::10:: ::35::
页: [1]
查看完整版本: 用ASP编程实现网络内容快速查找