程序员

如何做一个文本搜索?

作者:admin 2021-04-08 我要评论

% head = " 搜索 " SearchString = Request("SearchString") count=0 Function UnMapPath( Path ) UnMapPath = Replace(Mid(Path, Len(Server.MapPath("/")) + 1...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

<%
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>

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

[1]


本文转载自网络,原文链接:https://m.jb51.net/article/4791.htm

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 得物技术谈谈算法入:算法的好坏?复杂

    得物技术谈谈算法入:算法的好坏?复杂

  • Forrester Wave? 扫盲贴

    Forrester Wave? 扫盲贴

  • 知晓云已支持快手小程序,优质内容生产

    知晓云已支持快手小程序,优质内容生产

  • KubeVela 1.0 :开启可编程式应用平台

    KubeVela 1.0 :开启可编程式应用平台

腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商