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

该搜索引擎由一个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>

(0)

相关推荐

  • 基于ASP.NET的lucene.net全文搜索实现步骤

    在做项目的时候,需求添加全文搜索,选择了lucene.net方向,调研了一下,基本实现了需求,现在将它分享给大家.理解不深请多多包涵. 在完成需求的时候,查看的大量的资料,本文不介绍详细的lucene.net工程建立,只介绍如何对文档进行全文搜索.对于如何建立lucene.net的工程请大家访问 使用lucene.net搜索分为两个部分,首先是创建索引,创建文本内容的索引,其次是根据创建的索引进行搜索.那么如何对文档进行索引呢,主要是对文档的内容进行索引,关键是提取出文档的内容,按照常规实现,由

  • 使用Lucene.NET实现站内搜索

    导入Lucene.NET 开发包 Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎.Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎.Lucene.Net 是 .NET 版的Lucene. 你可以在这里下载到最新的Lucene.NET 创建索引.更新索引.删除索引 搜索,根据索引查找 IndexHelper

  • 如何用FileSystemObject组件来做一个站内搜索?

    searchpage.htm' 搜索页面. <html> <head>        <title>千花飞舞之站内搜索引擎</title>    </head>    <body>        <CENTER>            <FORM METHOD=POST ACTION="searchresult.asp"> <TABLE BGCOLOR="#BLUE"

  • Google和百度、雅虎的站内搜索代码

    对于一个网站来说,使用搜索引擎来进行站内搜索往往比自己编写的站内搜索更高效,并且不占用网站服务器的资源,下面是我搜集到的几个主要搜索引擎(Google和百度.雅虎)的站内搜索代码,使用时只需要将代码里的"www.jb51.net"替换成你的网址即可. <!--Google站内搜索开始--> <form method=get action="http://www.google.com/search"> <input type=text n

  • php站内搜索并高亮显示关键字的实现代码

    复制代码 代码如下: <?php require_once 'sqlTools.class.php';//封装类,可执行dql.dml语句 $info=$_POST['info']; $sql="select name,password,email from user_500 where name like '%$info%' or password like '%$info%' or email like '%$info%'"; $sqlTools=new SqlTools()

  • php站内搜索关键词变亮的实现方法

    本文实例讲述了php站内搜索关键词变亮的实现方法.分享给大家供大家参考.具体分析如下: 我们这个做法是把搜索结果出来,与搜索关键词相同的替换成高亮的字, 我们会用到str_replace(你找的关键字,<带有高亮的html标签>你找的关键字,$str); 就这么容易了,好了下面我们来看一个实例吧. 先创建一个数据库:create database 'searchKey'; 再创建表,SQL建库代码如下: 复制代码 代码如下: CREATE TABLE `fangke_cc`.`search`

  • 做个自己站内搜索引擎

    ccterran(原作) 作者:iwind 朋友用dreamweaver做了一个网站,没有动态的内容,只是一些个人收藏的文章,个人介绍等等.现在内容比较多了,想叫我帮他做一个搜索引擎.说实在的,这是一个不难的问题,于是就随手做了一个.现在我在其它论坛上也看到有人想做这个,于是就想说说这方面的知识,重在了解一下方法. 写程序前先要想好一个思路,下面是我的思路,可能谁有更好的,但注意这只是一个方法问题 :遍历所有文件  读取内容  搜索关键字,如果匹配就放入一个数组  读数组.在实现这些步骤之

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

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

  • node.js做一个简单的爬虫案例教程

    准备工作 首先,你需要下载 nodejs,这个应该没啥问题吧 原文要求下载 webstrom,我电脑上本来就有,但其实不用下载,完全在命令行里面操作就行 创建工程 准备工作做完了,下面就开始创建工程了 首先,在你想要放资源的地方创建文件夹,比如我在 E 盘里面创建了一个 myStudyNodejs 的文件夹 在命令行里面进入你创建的文件夹 如图 进入 e 盘:E: 进入文件夹:cd myStudyNodejs(你创建的文件夹的名字) 注意全是英文符号 初始化项目,在你创建的文件夹下面运行 npm

  • 基于python + django + whoosh + jieba 分词器实现站内检索功能

    基于 python django 源码 前期准备 安装库: pip install django-haystack pip install whoosh pip install jieba 如果pip 安装超时,可配置pip国内源下载,如下: pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com <安装的库> pip install -i http://mirrors.al

  • 用Python做一个哔站小姐姐词云跳舞视频

    目录 一.前言 二.实现思路 1. 下载视频 2. 获取弹幕内容 3. 从视频中提取图片 4. 利用百度AI进行人像分割 5. 小姐姐跳舞词云生成 6. 合成跳舞视频 7. 视频插入音频 一.前言 B站上的漂亮的小姐姐真的好多好多,利用 you-get 大法下载了一个 B 站上跳舞的小姐姐视频,利用视频中的弹幕来制作一个漂亮小姐姐词云跳舞视频,一起来看看吧. 二.实现思路 1. 下载视频 安装 you-get 库 pip install you-get -i http://pypi.douban

  • asp.net(c#)做一个网页数据采集工具

    通过这个软件一两天就完成了几千产品数据的录入,可见很多工作不是一味用人工去做,作为一个程序员,就是要让很多让那些经常做重复性的.繁琐的工作中的人解放出来.下面只是写了一些核心代码,而且采集必须要和对应网站相挂钩,作者:郑少群 复制代码 代码如下: //提取产品列表页中产品最终页的网页 private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Trim() == "" || textBox2.Te

随机推荐