Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/12/2004, 04:56
leoninono2
 
Fecha de Ingreso: diciembre-2004
Mensajes: 15
Antigüedad: 20 años, 1 mes
Puntos: 0
Hola, a ver si te sirve de ayuda esto, lo saque de otro foro, el único inconveniente es que está ASP, pero lo mismo te ayuda.

Dos paginas, una HTML y otra ASP

HTML:
Código:
<table cellspacing=2 cellpadding=2 border=0>
<tbody> 
<tr valign=bottom align=middle> 
<td bgcolor="#8CA6CE"><font color="#FFFFFF"><b><font size="2" face="Arial, Helvetica, sans-serif">SEARCH</font></b></font></td>
</tr>
<tr valign=top align=middle> 
<td> 
<table cellspacing=0 cellpadding=1 width=171 
border=0 bgcolor=#8CA6CE>
<tbody> 
<tr> 
<td width="100%"> <font face="verdana, arial, helvetica" 
size=-1><small> </small></font> 
<table cellspacing=0 cellpadding=4 width="100%" 
bgcolor=#8CA6CE border=0>
<tbody> 
<tr> 
<!-- 
The chuck of code generates the search box. Every page that has a search box needs it. 
//-->
<form action="search.asp" method="post">
<td align=left bgcolor="#FFFFFF"> 
<input class=formcreate type=text 
name=txtKeyWord size="10">
<input class=formcreate type=submit value="GO" name=search>
</td>
</form>
<!--
End of the search form
//-->
</tr>
</tbody> 
</table>
</td>
</tr>
</tbody> 
</table>
</td>
</tr>
</tbody> 
</table>
ASP:
Código:
<%@ Language=VBScript %>

<%

Option Explicit
Response.Buffer = True

' Set up some FileSystem objects.
dim objFS, objFolder, objFiles, File, FileName, objCheckFile, strSitePath
set objFS = server.CreateObject("Scripting.FileSystemObject")

dim strListofFiles, arrFileList, strPageTitle, iReturnCount
dim objFolders

strListofFiles = ""
iReturnCount = 0

' The search values, search space, and the return value
dim strKeyWord, strFileContents, returnValue, arrKeyWords
dim bKeyWordFound, i, j

' Get the Physical path to the current directory
strSitePath = Server.MapPath(".")

' Grab the keyworlds and split them into an array
strKeyWord = Trim(request("txtKeyWord"))
arrKeyWords = split(strKeyWord," ")

' Get the list of files.
Set objFolder = objFS.GetFolder(strSitePath)


' Sub that grabs all the ".htm" & ".html" files in the given folder and
' recurses through all subfolders. 
sub getCompleteFileList(inFolder, Path)

dim oFiles, oFolders, Folder, sPath

' Get all the files and subfolders.
Set oFiles = inFolder.Files
Set oFolders = inFolder.SubFolders

' If we have a subfolder we need the partial path
if (Path <> "") then
sPath = Path + "\"
end if

' Add each ".htm" & ".html" file to the list
For Each File in oFiles
FileName = File.Name

if((Lcase(right(FileName,4)) = ".htm") OR (Lcase(right(FileName,5)) = ".html")) then
if (strListofFiles = "") then
strListofFiles = sPath + FileName
else 
strListofFiles = strListofFiles + "," + sPath + FileName
end if 
end if
Next

' Check all the subfolders for ".htm" & ".html" files
For Each Folder in oFolders
if (Folder.Name <> "images" AND Folder.Name <> "stats") then 
call getCompleteFileList(Folder, sPath + Folder.Name)
end if
Next

' Clean up 
set File = Nothing
set oFiles = Nothing
set Folder = Nothing
set oFolders = Nothing

end sub

%>
<html>
<head>
<title>Search </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table cellspacing=7 cellpadding=2 border=0 width="100%">
<tbody> 
<tr> 
<td valign=top align=middle> 
<table cellspacing=0 width="100%" border=0>
<tbody> 
<tr> 
<td align=middle bgcolor=#3366cc> 
<table cellspacing=0 cellpadding=2 width="100%" border=0>
<tbody> 
<tr> 
<td align=middle bgcolor=#ffffff> 
<table cellspacing=0 width="100%" border=0>
<tbody> 
<tr bgcolor="#F2F2F2"> 
<td align=middle colspan=4 bgcolor="#F2F2F2"> 
<div align="left"><b>Search Results</b></div>
</td>
</tr>
<tr bgcolor="#F2F2F2"> 
<td align=middle colspan=4 bgcolor="#FFFFFF"> 
<div align="left"></div>
<p align="left"> 
<!-- 
The Start of the search specific html code. 
It needs a look and feel update. 
//-->
</p>
<table width="95%" border="0" cellspacing="1" cellpadding="1" align="center">
<tr bgcolor="#330099"> 
<td bgcolor="#FFFFFF"> 
<div align="left"><font color="#FFFFFF"><b> <font color="#666666">You 
searched for</font><font color="#000000"> </font></b><font color="#000000"><font color="#FF0000"><%= strKeyWord%></font></font></font></div>
</td>
</tr>
<%
' Only to the search if we got at least one keyword
if (strKeyWord <> "") then

' Call the sub that gets all the files 
call getCompleteFileList(objFolder, "")

' Take the big ole string the contains all the files seperated by commas and chop it up.
arrFileList = split(strListofFiles,",")

For i=0 to UBound(arrFileList)

' Open the current file and read everything into a single string.
' If the files are huge this could eat a lot or resources.
Set objCheckFile = objFS.OpenTextFile(strSitePath + "\" + arrFileList(i),1,false,0)
strFileContents = objCheckFile.ReadAll

' Default the search flag to false.
bKeyWordFound = false

' For each keyword entered search the file.
for j = 0 to UBound(arrKeyWords) 
returnValue = InStr(1,strFileContents,arrKeyWords(j),1)

' If the returnValue isn't zero the keyword was found
' Set the search flage to true and short cut out of the loop.
if (returnValue <> 0) then
bKeyWordFound = true
j = UBound(arrKeyWords)
end if
next

' If a keyword was found include this file in the list.
if (bKeyWordFound) then

' Keep track of the number of results and grab the title of the page for the search display 
iReturnCount = iReturnCount + 1

dim startChar, endChar
startChar = InStr(1,strFileContents,"<title>",1)
endChar = InStr(1,strFileContents,"</title>",1)

if (startChar = 0 OR endChar = 0 OR ((startChar + 7) > (endChar - 7))) then
%>
<tr> 
<td><font face="Arial, Helvetica, sans-serif" size="2"><a href="<%= arrFileList(i) %>"><%= arrFileList(i) %></a> <%= arrFileList(i) %></font></td>
</tr>
<% 
else 
strPageTitle = mid(strFileContents,InStr(1,strFileContents,"<title>",1) + 7, InStr(1,strFileContents,"</title>",1) - InStr(1,strFileContents,"<title>",1) - 7)

if (strPageTitle = "") then
strPageTitle = arrFileList(i)
end if
%>
<tr> 
<td><font face="Arial, Helvetica, sans-serif" size="2"><a href="<%= arrFileList(i) %>"><%= strPageTitle%>"</a> <%= arrFileList(i) %></font></td>
</tr>
<% 
end if
end if

' Close the file so we can open another one. 
objCheckFile.Close
Next

end if
%>
<tr> 
<td><font face="Arial, Helvetica, sans-serif" size="2" color="#999999"><%= iReturnCount%> pàgina(es) trobada (es)</font></td>
</tr>
<tr> 
<td>&nbsp;</td>
</tr>
<%

' Clean up all the objects used.
set objCheckFile = Nothing
set File = Nothing
set objFiles = Nothing
set objFolder = Nothing
set objFS = Nothing

%>
</table>
<!-- the end of the search html -->
</td>
</tr>
</tbody> 
</table>
</td>
</tr>
</tbody> 
</table>
</td>
</tr>
</tbody> 
</table>
</td>
</tr>
</tbody> 
</table>
<p>&nbsp;</p>
</body>
</html>
Espero que te pueda ayudar. Saludos.