新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:例子:文本搜索

例子:文本搜索

新客网 XKER.COM 2003-07-11 来源: 收藏本文
<%
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>
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐