静态html搜索,如何实现静态页面站内搜索

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 发表的内容

禁止发布色情、反动及广告内容!

发表回复

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值