主页 > 知识库 > 如何用FileSystemObject组件来做一个站内搜索?

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

热门标签:网站文章发布 呼叫中心市场需求 铁路电话系统 美图手机 服务器配置 检查注册表项 智能手机 银行业务

searchpage.htm
' 搜索页面.

html>

head>
        title>
千花飞舞之站内搜索引擎/title>
    /head>
    body>
        CENTER>
            FORM METHOD=POST ACTION="searchresult.asp">

    TABLE BGCOLOR="#BLUE" BORDER="0">
      tr>                       
        td ROWSPAN="3" BGCOLOR="#BLUE" 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="#BLUE" 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>
/DL>
/body>/html>

searchresult.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>

 

 

[1]

您可能感兴趣的文章:
  • 做个自己站内搜索引擎
  • 用ASP做一个TOP COOL的站内搜索
  • Google和百度、雅虎的站内搜索代码
  • php站内搜索并高亮显示关键字的实现代码
  • 基于ASP.NET的lucene.net全文搜索实现步骤
  • php站内搜索关键词变亮的实现方法
  • 使用Lucene.NET实现站内搜索

标签:红河 长治 乐山 上海 河南 沈阳 沧州 新疆

巨人网络通讯声明:本文标题《如何用FileSystemObject组件来做一个站内搜索?》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266