如何做一个文本搜索?
- 技术交流
- 2024-10-01 10:24:02
<%
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, "
pos2 = InStr(1, content, "
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 = "" & title & ""
FileLink = "·" & FileLink & ""
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
%>
content="text/html; charset=gb_2312-80">
星河影动之无敌文本搜索<%=head%>
请输入想要搜索的内容: size="20" name="SearchString" value="<%=SearchString%>"> type="submit" value="搜索">
<%
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fd = fs.GetFolder( Server.MapPath("/") )
' 设置开始搜索的路径. "
If SearchString <> "" Then
Response.Write "搜索" & SearchString & "结果如下:
SearchFolder fd,SearchString
End If
%>
[1]
如何做一个文本搜索?由讯客互联技术交流栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“如何做一个文本搜索?”