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

编程10000问
如何获知文件被改动的情况?
如何获知文件最后的修改日期和时间?
如何在线查询本地机的文件?
如何制作一个文本文件编辑器?
如何简单地上传文件?
如何上传一个单纯的HTML文件?
如何实现文件上传并自动归类功能?
如何实现无组件上传二进制文件?
在无组件的情况下,如何上传图片?
如何限制上传文件的大小?
如何用拦截表单的方法上传图片?
如何对用户进行授权?
如何更好地保护我的网页?
如何实现某些页面只让特定的用户浏览?
如何实现某一页面只让特定的用户浏览?
如何实现强制登录?
如何制作一个安全的页面?
如何最大限度地实现安全登录功能?
如何防止未经注册的用户绕过注册界面直接进入应用系统?
怎样避免直接在地址栏敲入URL即可绕过登录页的错误?

编程10000问 中的 如何做一个只搜索本网站的引擎?


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

searchfiles.html
<html>

<head>

<title>撼雪喷云之本网搜索引擎</title>

</head>

<body>

<form method="POST" action="cgi-bin/searchfiles.asp">

<table border="0" cellpadding="5" bgcolor="#C2E7E3">

<tr>

<td align="center">请输入条目或关键词<input type="text" name="term" size="15"> <input type="submit" value="搜索"></td>

</tr>

</table>

</form>

</body></html>

searchfiles.asp
<%
SearchTerm = request.form("term")
Novalid=" a b c d e f g h i j k l m n o p q r s t u v w x y z yes no and more"
NovalidResponse ="
你输入的内容过于简单,请返回重试!"
if instr(SearchTerm,Novalid)=0 then
Response. Write ("<CENTER><H2>
搜索结果</H2></CENTER>")
FolderName= "FolderName"
ShowList()
else
Response.Write NovalidResponse
End if
SearchResponse=""
%>
<%
Sub ShowList()
FolderToCheck = server.mappath("\") &"/" & FolderName & "/"
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(FolderToCheck)
Set fc = f.Files
For Each f1 in fc
Wfile = f1.name
if right(Wfile, 5)=".html" OR right(Wfile, 4)=".htm" then
Wfile2 = FolderToCheck & Wfile
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile(Wfile2)
ct = a.ReadAll
a.close
ct2=lcase(ct)
SearchTerm2 = lcase(SearchTerm)
if instr(ct2,SearchTerm2)>0 then
if instr(ct,"</title>")>0 then
longitud=instr(ct,"</title>")
longitud=longitud -1
ct=left(ct,longitud)
longitud2=len(ct)
longitud=instr(ct,"<title>")
longitud=longitud2 -longitud -6
ct=right(ct,longitud)
else
if instr(ct,"</title>")>0 then
longitud=instr(ct,"</title>")
longitud=longitud -1
ct=left(ct,longitud)
longitud2=len(ct)
longitud=instr(ct,"<title>")
longitud=longitud2 -longitud -6
ct=right(ct,longitud)
end if
end if
SearchResponse= SearchResponse +"<tr><td>"+ ct + "</td><td ALIGN=CENTER
VALIGN=MIDDLE>" + " <A HREF=" + "/" + FolderName + "/" + Wfile +"> More </A></td></tr>"
longitud=0
ct=""
end if
end if
Next
Response.Write ("<html><head><title>
搜索结果</title></head><body BGCOLOR=FFFFFF><CENTER>")
Response.Write ("<TABLE BORDER=0 WIDTH=550><tr><td BGCOLOR=C0C0C0><FONT SIZE=5><B>
搜索结果</B></FONT></td></tr></TABLE>")
Response.Write ("<TABLE BORDER=0 WIDTH=550>")
if SearchResponse<>"" then
Response.Write SearchResponse
else
Response.Write ("<tr><td>
对不起,没有找到你输入的条目或关键词!</td></tr>")
end if
Response.Write ("</TABLE>")
Response.Write ("<TABLE BORDER=0 WIDTH=550><tr><td BGCOLOR=C0C0C0 ALIGN=RIGHT><FONT SIZE=1>
现在调用专业搜索引擎<A HREF= http://www.yahoo.com.cn/ </A></FONT></td></tr></TABLE>")

' 任选一个你喜欢的引擎.

Response.Write ("</CENTER></body></html>")
End Sub
%>

[1]