当前位置:编程学习 > asp >>

如何做一个只搜索本网站的引擎?

答案:

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

上一个:为什么有的留言簿不需要数据库?
下一个:如何用ASP发送html格式的邮件?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,