文本搜索

  <%

  Head = "搜索"

  SearchString = Request("SearchString")

  count=0

  '把当前目录的实际路径转换为虚拟路径

  Function UnMapPath( Path )

  UnMapPath = Replace(Mid(Path, Len(Server.MapPath("/")) + 1), "\", "/")

  End Function

  Function SearchFile( f, s, title )

  Set fo = fs.OpenTextFile(f)

  content = fo.ReadAll'读全部文本到content

  fo.Close

  SearchFile = InStr(1, content, S, vbTextCompare) > 0 '从第一个字符开始检查content里面是否有S

  If SearchFile Then'如果有,则提出文件TITLE存入变量

  pos1 = InStr(1, content, "<TITLE>", vbTextCompare)

  pos2 = InStr(1, content, "</TITLE>", vbTextCompare)

  title = ""

  If pos1 > 0 And pos2 > 0 Then'取TITLE标记中间的字符

  title = Mid( content, pos1 + 7, pos2 - pos1 - 7 )

  End If

  End If

  End Function

  Function FileLink( f, title )

  vPath = UnMapPath( f.Path )'取路径

  If title = "" Then title = f.Name'做链接

  FileLink = "<A HREF=""" & vPath & """>" & title & "</A>"

  FileLink = "<UL>·" & FileLink & "</UL>"

  End Function

  Sub SearchFolder( fd, s )

  found = False

  For each f In fd.Files

  pos = InStrRev(f.Path, "." )

  If pos > 0 Then

  ext = Mid(f.Path, pos + 1 )

  Else

  ext = ""

  End If

  If LCase(ext) = "htm" Then'显示扩展名字为HTM的文件

  If SearchFile( f, s, title ) Then

  Response.Write FileLink(f, title)

  count=count+1

  ' Response.Write cstr(count)

  End If

  End If

  Next

  For each sfd In fd.SubFolders

  SearchFolder sfd, s

  Next

  End Sub

  %>

  <html>

  <head>

  <meta http-equiv="Content-Type"

  content="text/html; charset=gb_2312-80">

  <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">

  <title><%=Head%></title>

  </head>

  <body bgcolor="#FFFFFF">

  <h1><%=Head%></h1>

  <hr>

  <form action="search.asp" method="Get">

  <p>请输入欲搜索的内容: <input type="text"

  size="20" name="SearchString" value="<%=SearchString%>"> <input

  type="submit" value="搜索"> </p>

  </form>

  <%

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

  Set fd = fs.GetFolder( Server.MapPath("/") ) '设置开始搜索的路径!

  If SearchString <> "" Then

  Response.Write "<H2>搜索<font color=red>" & SearchString & "</font>结果如下:</H2><P>"

  SearchFolder fd,SearchString

  End If

  %>

  <hr>

  </body>

  </html>