ss_yy0295
zmouse 发表于 2013-7-30 22:31 forum.php?mod=redirect&goto=findpost&pid=20638&ptid=6994
你只用js的话,基本没用,js也就只能在当前页面中检索内容,你要搜全站的,顶多也就模拟下,比如把所有内容 ...
有人说了,可以用一个asp文件即可实现此功能,麻烦帮看看他的代码可以用吗?
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
fo.Close
SearchFile = InStr(1, content, S, vbTextCompare) > 0
If SearchFile Then
pos1 = InStr(1, content, "
", vbTextCompare)pos2 = InStr(1, content, "
", vbTextCompare)title = ""
If pos1 > 0 And pos2 > 0 Then
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
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
%>
请输入欲搜索的内容:
size="20" name="SearchString" value="">
type="submit" value="搜索">
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fd = fs.GetFolder( Server.MapPath("./") ) '设置开始搜索的路径(将遍历其所有子目录,当前设置为search.asp所在目录)!
If SearchString <> "" Then
Response.Write "
搜索" & SearchString & "结果如下:
"
SearchFolder fd,SearchString
End If
%>
2013-07-31 15:22
回复本帖
引用 ss_yy0295 2013-07-31 15:22 发表的内容
禁止发布色情、反动及广告内容!
发表回复