欢迎光临爱时尚女性网
 

ASP制作一个个人搜索引擎源码

2012-12-7 编辑:admin 来源:爱时尚女性网 阅读次数:731
  导读: 0 Then 燚ocCount = DocCount + 1 ' Open the file to read its content Set fsText = fsFile.OpenAsTextStream FileText = fsText.ReadAll ' Apply the regex search and get the count of matches found MatchCoun...
<%
Response.Buffer=True


'
' OneFile Search Engine (ofSearch v1.0)
' Copyright ?000 Sixto Luis Santos
' All Rights Reserved
'
' Note:
' This program is freeware. This program is NOT in the Public Domain.
' You can freely use this program in your own site.
'
' You cannot re-distribute the code, by any means,
' without the express written authorization by the author.
'
' Use this program at your own risk.
'




' Globals --------------------------------------
' ----------------------------------------------


Const ValidFiles = "htmltxt"
Const RootFld = "./"


Dim Matched
Dim Regex
Dim GetTitle
Dim fs
Dim rfLen
dim RootFolder
Dim DocCount
Dim DocMatchCount
Dim MatchedCount


' ----------------------------------------------
' Procedure: SearchFiles()
' ----------------------------------------------
Public Sub SearchFiles(FolderPath)
Dim fsFolder
Dim fsFolder2
Dim fsFile
Dim fsText
Dim FileText
Dim FileTitle
Dim FileTitleMatch
Dim MatchCount
Dim OutputLine


' Get the starting folder
Set fsFolder = fs.GetFolder(FolderPath)
' Iterate thru every file in the folder
For Each fsFile In fsFolder.Files
' Compare the current file extension with the list of valid target files
If InStr(1, ValidFiles, Right(fsFile.Name, 3), vbTextCompare) > 0 Then
燚ocCount = DocCount + 1
' Open the file to read its content
Set fsText = fsFile.OpenAsTextStream
FileText = fsText.ReadAll
' Apply the regex search and get the count of matches found
MatchCount = Regex.Execute(FileText).Count
MatchedCount = MatchedCount + MatchCount
If 燤atchCount > 0 Then
DocMatchCount = DocMatchCount + 1
' Apply another regex to get the html document's title
Set FileTitleMatch = GetTitle.Execute(FileText)
If FileTitleMatch.Count > 0 Then
' Strip the title tags
FileTitle = Trim(replace(Mid(FileTitleMatch.Item(0),8),"","",1,1,1))
' In case the title is empty
If FileTitle = "" Then
燜ileTitle = "No Title (" & fsFile.Name & ")"
End If
Else
' Create an alternate entry name (if no title found)
FileTitle = "No Title (" & fsFile.Name & ")"
End If
' Create the entry line with proper formatting
' Add the entry number
OutputLine = "  " & DocMatchCount & ". "
' Add the document name and link
OutputLine = OutputLine & ""
OutputLine = OutputLine & FileTitle & "
"
' Add the document information
OutputLine = OutputLine & "
  Criteria matched " & MatchCount
& " times - Size: "
OutputLine = OutputLine & FormatNumber(fsFile.Size / 1024,2 ,-1,0,-1) & "K bytes"
OutputLine = OutputLine & " - Last Modified: " & formatdatetime
(fsFile.DateLastModified,vbShortDate) & "

"
' Display entry
Response.Write OutputLine
Response.Flush
End If
fsText.Close
End If
Next


' Iterate thru each subfolder and recursively call this procedure
For Each fsFolder2 In fsFolder.SubFolders
SearchFiles fsFolder2.Path
Next


Set FileTitleMatch = Nothing
Set fsText = Nothing
Set fsFile = Nothing
Set fsFolder2 = Nothing
Set fsFolder = Nothing
End Sub


' ----------------------------------------------
' Procedure: Search()
' ----------------------------------------------
Sub Search(SearchString)
Dim i
Dim fKeys
Dim fItems


Set fs = CreateObject("Scripting.FileSystemObject")
Set GetTitle = New RegExp
Set Regex = New RegExp


With Regex
.Global = True
.IgnoreCase = True
.Pattern = Trim(SearchString)
End With
With GetTitle
.Global = False
.IgnoreCase = True
.Pattern = "(.|\n)*"
End With


RootFolder = Server.MapPath(RootFld)


If Right(RootFld,1) <> "/" Then
RootFld = RootFld & "/"
End If


If Right(RootFolder, 1) <> "\" Then
RootFolder = RootFolder & "\"
End If
rfLen = Len(RootFolder) + 1


SearchFiles RootFolder


If MatchedCount = 0 Then
燫esponse.Write "  No Matches Found.
"
End If


Set Regex = Nothing
Set GetTitle = Nothing
Set fs = Nothing

End Sub


%>




OneFile Search 1.0


























Search
for 
"
name="query">








color="#FFFFFF">Tip: Search by using href="http://msdn.microsoft.com/scripting/default.htm?/scripting/VBScript/doc/jsgrpregexpsyntax.htm">Regula
r Expresions.




<%
If Trim(Request.QueryString("query")) <> "" Then
%>






  Your search for <%
=Request.QueryString("query")%>
found the following documents:




<%
Response.Flush
Search Request.QueryString("query")
If DocCount > 0 Then
%>



  (The search criteria "<%=Request.QueryString("query")%>" found <%=MatchedCount%> times in <%
=DocMatchCount%> of <%=DocCount%> documents.)

<%
燛nd If
End If
%>






OneFile Search Engine v1.0

Copyright?000 Sixto Luis Santos.
All Rights Reserved








<%
Response.End
%>

文章出自:爱时尚女性网www.aspjc.com,尊重版权是美德,转载请保留原地址,感谢合作!

 
 
链接交换请联系:QQ:790646582 首页链接要求百度快照在一周以内,不符合以上要求的各站,我们将定期把友情连接转入内页,谢谢合作。
Copyright @ 2012-2015 爱时尚女性网 保留所有权利吉ICP备14005127号-1 服务QQ:175529508 e-mail:zk8312@163.com
本站部分资源来自网友上传,如果无意之中侵犯了您的版权,请联系本站,本站将在3个工作日内删除。