当前位置: 首页 > 图文教程 > 网络编程 > 编程10000问 > 如何做一个文本搜索?

编程10000问
如何实现在下拉菜单里输入文字?
如何使用数组来显示下拉菜单?
如何用下拉列表显示数据库里的内容?
如何在读取Excel文件时创建列表的下拉菜单?
如何制作关联的下拉菜单?
如何测试字符串的长度?
如何验证字符串是否包含有效字符?
如何检测字符串出现的次数?
如何准确地获得一个整数?
如何编写一个小数转换分数的函数?
如何把一长串数字分位显示?
如何正确显示数据库里同时存在的GB码和BIG5码?
如何实现人民币的大写转换?
怎样给文件加密最安全?
如何用Access加密页面?
为什么用磁盘序列号加密过的代码不能被复制安装?
如何根据用户银行帐户余额的多少进行显式的提交或终止?
如何获知所有的Cookie?
如何提示用户打开Cookie?
如何刪除客户端的Cookies?

编程10000问 中的 如何做一个文本搜索?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 24 ::
收藏到网摘: n/a

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