打印本文 关闭窗口 | |
FSO专题 : 文本搜索 | |
作者:未知 文章来源:网络文摘 点击数 更新时间:2006/5/10 3:11:12 文章录入:admin 责任编辑:admin | |
|
|
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> |
|
打印本文 关闭窗口 |