用ASP做一个TOP COOL的站内搜索_FSO专题

该搜索引擎由一个HTM文件一个ASP文件组成,主要是运用FILESYSTEMOBJECT组件来达到目的,功能强大,修改界面以后可以直接拿来使用,当然加上一点自己的东西就更加好了。

searchpage.htm

该HTM文件用来传入条件

<HTML>

<HEAD>

<TITLE>ASP搜索引擎范例</TITLE>

</HEAD>

<BODY>

<CENTER>

<FORM METHOD=POST ACTION="search.asp">

<TABLE BGCOLOR="#CC6633" BORDER="0">

<TR>

<TD ROWSPAN="3" BGCOLOR="#CC6633" width="21" nowrap> </TD>

<TD width="363" nowrap> <FONT COLOR="#FFFFFF">

<INPUT TYPE="text" NAME="SearchText" SIZE="22">

<INPUT TYPE="checkbox" NAME="Case">

高度敏感</FONT> </TD>

<TD ROWSPAN="3" width="10">

<INPUT TYPE="submit" VALUE="确定">

<P>

<INPUT TYPE="reset" VALUE="清除">

</TD>

<TD ROWSPAN="3" BGCOLOR="#CC6633" width="28"> </TD>

</TR>

<TR>

<TD width="363" nowrap> <FONT COLOR="#FFFFFF"> 返回结果

<SELECT name="rLength" >

<option value="200" selected>长信息 </option>

<option value="100">短信息</option>

<option value="0">只返回连接</option>

</SELECT>

<SELECT NAME="rResults">

<OPTION VALUE="10" SELECTED>10

<OPTION VALUE="25">25

<OPTION VALUE="50">50

</SELECT>

</FONT>

</TD>

</TR>

<TR>

<TD width="363" nowrap> <FONT COLOR="#FFFFFF"> 必须包括:

<INPUT TYPE="checkbox" NAME="iImage">

图片

<INPUT TYPE="checkbox" NAME="iZips">

Zip格式

<INPUT TYPE="checkbox" NAME="iJavaS"> JavaScript

</FONT>

</TD>

</TR>

</TABLE>

</FORM>

</CENTER>

<DL>

<DD> </DD>

</DL>

</BODY>

</HTML>

------------------------------------------------------------------------

显示结果的ASP程序

search.asp

<HTML>

<HEAD>

<TITLE>'<%=Request("SearchText")%>'的搜索结果</TITLE>

</HEAD>

<BODY>

<B>'<%=Request("SearchText")%>'的搜索结果</B><BR>

<%

Const fsoForReading = 1

Dim objFile, objFolder, objSubFolder, objTextStream

Dim bolCase, bolFileFound, bolTagFound

Dim strCount, strDeTag, strExt, strFile, strContent, strRoot, strTag, strText, strTitle, strTitleL

Dim reqImage, reqJavaS, reqLength, reqNumber, reqZip

strFile = ".asp .htm .html .js .txt .css"

strRoot = "/"

strText = Request("SearchText")

strTag = Chr(37) & Chr(62)

bolFileFound = False

bolTagFound = False

If Request("Case") = "on" Then bolCase = 0 Else bolCase = 1

If Request("iImage") = "on" Then reqImage = "<IMG" Else reqImage = ""

If Request("iZips") = "on" Then reqZips = ".zip" Else reqImage = ""

If Request("iJavaS") = "on" Then reqJavaS = "JavaScript" Else reqImage = ""

If Request("rResults") = "10" Then reqNumber = 10

If Request("rResults") = "25" Then reqNumber = 25

If Request("rResults") = "50" Then reqNumber = 50

reqLength = Request("rLength")

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Set objFolder = objFSO.GetFolder(Server.MapPath(strRoot))

schSubFol(objFolder)

Sub schSubFol(objFolder)

For Each objFile in objFolder.Files

If strCount + 1 > reqNumber or strText = "" Then Exit Sub

If Response.IsClientConnected Then

Set objTextStream = objFSO.OpenTextFile(objFile.Path,fsoForReading)

strContent = objTextStream.ReadAll

If InStr(1, strContent, strTag, bolCase) Then

Else

If Mid(objFile.Name, Len(objFile.Name) - 1, 1) = "." Then strExt = Mid(objFile.Name, Len(objFile.Name) - 1, 2)

If Mid(objFile.Name, Len(objFile.Name) - 2, 1) = "." Then strExt = Mid(objFile.Name, Len(objFile.Name) - 2, 3)

If Mid(objFile.Name, Len(objFile.Name) - 3, 1) = "." Then strExt = Mid(objFile.Name, Len(objFile.Name) - 3, 4)

If Mid(objFile.Name, Len(objFile.Name) - 4, 1) = "." Then strExt = Mid(objFile.Name, Len(objFile.Name) - 4, 5)

If InStr(1, strContent, strText, bolCase) And _

InStr(1, strContent, reqImage, 1) And _

InStr(1, strContent, reqZips, 1) And _

InStr(1, strContent, reqJavaS, 1) And _

Instr(1, strFile, strExt, 1) Then

If InStr(1, strContent, "<TITLE>", 1) Then strTitle = Mid(strContent, InStr(1, strContent, "<TITLE>", 1) + 7, InStr(1, strContent, "</TITLE>", 1)) Else strTitle = "未命名"

strCount = strCount + 1

Response.Write "<DL><DT><B><I>"& strCount &"</I></B> - <A HREF=" & objFile.Path & ">" & strTitle & "</A></A></DT><BR><DD>"

strTitleL = InStr(1, strContent, "</TITLE>", 1) - InStr(1, strContent, "<TITLE>", 1) + 7

strDeTag = ""

bolTagFound = False

Do While InStr(strContent, "<")

bolTagFound = True

strDeTag = strDeTag & " " & Left(strContent, InStr(strContent, "<") - 1)

strContent = MID(strContent, InStr(strContent, ">") + 1)

Loop

strDeTag = strDeTag & strContent

If Not bolTagFound Then strDeTag = strContent

If reqLength = "0" Then Response.Write objFile.Path & "</DD></DL>" Else Response.Write Mid(strDeTag, strTitleL, reqLength) & "...<BR><b><FONT SIZE='2'>URL: " & objFile.Path & " - 上次修改时间: " & objFile.DateLastModified & " - " & FormatNumber(objFile.Size / 1024) & "Kbytes</FONT></b></DD></DL>"

bolFileFound = True

End If

objTextStream.Close

End If

End If

Next

End Sub

For Each objSubFolder in objFolder.SubFolders

schSubFol(objSubFolder)

Next

If Not bolFileFound then Response.Write "没有匹配结果"

If bolFileFound then Response.Write "<B>搜索结束</B>"

Set objTextStream = Nothing

Set objFolder = Nothing

Set objFSO = Nothing

%>

</BODY></HTML>

时间: 2024-09-20 07:30:44

用ASP做一个TOP COOL的站内搜索_FSO专题的相关文章

用ASP做一个TOP COOL的站内搜索。

该搜索引擎由一个HTM文件一个ASP文件组成,主要是运用FILESYSTEMOBJECT组件来达到目的,功能强大,修改界面以后可以直接拿来使用,当然加上一点自己的东西就更加好了. searchpage.htm该HTM文件用来传入条件 <HTML>    <HEAD>        <TITLE>ASP搜索引擎范例</TITLE>    </HEAD>    <BODY>        <CENTER>           

用ASP做一个TOP COOL的站内搜索

该搜索引擎由一个HTM文件一个ASP文件组成,主要是运用FILESYSTEMOBJECT组件来达到目的,功能强大,修改界面以后可以直接拿来使用,当然加上一点自己的东西就更加好了. searchpage.htm 该HTM文件用来传入条件 <HTML> <HEAD> <TITLE>ASP搜索引擎范例</TITLE> </HEAD> <BODY> <CENTER> <FORM METHOD=POST ACTION=&quo

用Javascript制作站内搜索器

javascript     用JavaScript做的站内搜索不仅编程实现.维护起来很简单,而且它能在客户端浏览器直接执行,无须服务器的支持,也可以省去申请有脚本执行权限空间的麻烦.所以,只要你愿意动手,有个人主页就能有自己的站内搜索.下面让我们共同来做一个基于JavaScript的站内搜索的脚本,可不要小看它,做完了你就知道它的好处了.     首先,你要编写一个搜索表单,将用户要搜索的数据提交给JavaScript函数.最简单的代码如下,因为是最简单的HTML代码,所以就不作解释了: <f

Dreamweaver构建Blog全程实录(11)-站内搜索

dreamweaver 第十一章  Doking's BLOG站内搜索的实现 经常看到许多网站有一个站内搜索功能,这个是如何实现呢?如果是ASP,那Dreamweaver很快就能实现.现在是ASP.NET,得稍微手编一下. 11.1  SELECT高级搜索技巧 经过上面章节的学习,对SELECT多少会点了解.SELECT高级搜索技巧,其实也没有什么神秘,主要与模式匹配运算符的运用有关.所以这里主要讲解模式匹配运算符的运用. 模式匹配运算符LIKE.NOT LIKE常用于模糊查找,它判断列值是否与

Dreamweaver构建Blog(11):BLOG站内搜索的实现

dreamweaver 经常看到许多网站有一个站内搜索功能,这个是如何实现呢?如果是ASP,那Dreamweaver很快就能实现.现在是ASP.NET,得稍微手编一下. 11.1 SELECT高级搜索技巧 经过上面章节的学习,对SELECT多少会点了解.SELECT高级搜索技巧,其实也没有什么神秘,主要与模式匹配运算符的运用有关.所以这里主要讲解模式匹配运算符的运用. 模式匹配运算符LIKE.NOT LIKE常用于模糊查找,它判断列值是否与指定的字符串格式相匹配.LIKE用于查找匹配一定条件的记

优化站内搜索 -让用户更容易找到所需信息

关于如何让用户更容易地找到需要的信息,上一篇文章中介绍了使用优化网站信息架构的方式,这篇文章主要介绍的是通过优化站内搜索的方式来帮助用户找到需要的信息. 站内搜索已经成为目前几乎所有网站必不可少的一块功能,尤其在内容丰富的网站中,当用户有目的地寻找目标内容但又无法直接从首页或导航页中直接找到时,这时用户就会求助于站内搜索. 分析站内搜索的意义 分析站内搜索最常见的就是分析用户的搜索短语或者关键词,通过关键词了解用户的需求,但是某些基于搜索后的用户操作和行为分析分析往往更有价值:站内搜索的意义主要

22条优化策略提升站内搜索体验

一个好的网站在用户体验上做得到位,比如站内搜索,每位访客的需求都不一样,网站本身展示的内容没有满足他的口味,那他可能就会尝试在站内搜索一下,那搜索词就有讲究了,比如ytkah会搜索"站内搜索",也可能会搜"网站内部搜索",即使一样表达出来的词语也不同. 站内搜索是一个挖宝工具,站内搜索最能说明访客的心声. 言归正传,那站内搜索怎么设置才更有利于访客使用呢?我们一起看看以下22条优化策略 搜索框优化 1.搜索框位置 搜索框应该放在访客所期望的位置:右上角或上面中间位置

一个ASP站内搜索的实例源代码

假如你拥有一个庞大的网站,比如(www.lodoeshop.com),内容又多,那么来访者往往很难找到自己所需要的东东,这时候你就需要一个站内搜索来帮助来访者更快的找到索要的资料了!现在你就可以用asp轻易的实现这种功能,何况现在支持asp的站点这么多,利用这个搜索引擎可以搜索到你的主页里面任何一个文件或者软件资料,它可以精确到每个字! 说了这么多你是不是怦然心动了啊,那就按照下面的步骤来建立自己的搜索引擎吧: (一),首先利用access97建立一个名为list.mdb的数据库,在里面建立一个

ASP等动态语言网站做SEO时站内搜索应该注意的问题

WEB动态语言有很多,ASP,PHP,.NET,JSP等,之所以在标题中着重提到ASP,是因为目前市面上大多数的企业站点还是采用ASP来做的,这个语言因为学习的门槛较低,又有ACCESS的完美配合,所以是大多数程序员首选的企业站点语言.我们不在这篇文章中讨论ASP的安全性或技术层面的东西,我仅在这篇文章中分享最新学习到的一个理念,就是ASP网站的站内搜索功能对SEO的影响. 因为SEO对静态语言的收录有一定的优先(虽没有绝对性,但由于同样的配置上,静态页面的访问速度快于动态页面,所以从用户体验角