当前位置: 首页 > news >正文

asp的站内搜索功能

下面代码可以全部复制粘贴到一个search.asp文件中,就能够实现静态页面的全文检索功能了。适合于页面数较少的站点,估计超过100个页面性能就很差了。

None.gif < %
None.gifHead 
=   " 站内搜索 "
None.gifSearchString 
=  Request( " SearchString " )
None.gifcount
= 0
None.gif
None.gif
' 把当前目录的实际路径转换为虚拟路径
None.gif
Function  UnMapPath( Path )
None.gif    UnMapPath 
=   Replace ( Mid (Path,  Len (Server.MapPath( " / " ))  +   1 ),  "" " / " )
None.gif
End Function
None.gif
None.gif
None.gif
Function  SearchFile( f, s, title )
None.gif   
Set  fo  =  fs.OpenTextFile(f)
None.gif   content 
=  fo.ReadAll
None.gif   fo.Close
None.gif   SearchFile 
=   InStr ( 1 , content, S, vbTextCompare)  >   0  
None.gif   
If  SearchFile  Then
None.gif      pos1 
=   InStr ( 1 , content,  " <TITLE> " , vbTextCompare)
None.gif      pos2 
=   InStr ( 1 , content,  " </TITLE> " , vbTextCompare)
None.gif      title 
=   ""
None.gif      
If  pos1  >   0   And  pos2  >   0   Then
None.gif         title 
=   Mid ( content, pos1  +   7 , pos2  -  pos1  -   7  )
None.gif      
End   If
None.gif   
End   If
None.gif
End Function
None.gif
None.gif
Function  FileLink( f, title )
None.gif   vPath 
=  UnMapPath( f.Path )
None.gif   
If  title  =   ""   Then  title  =  f.Name
None.gif   FileLink 
=   " <A HREF="" "   &   vPath  &   " ""> "   &  title  &   " </A> "
None.gif   FileLink 
=   " <UL>· "   &  FileLink  &   " </UL> "
None.gif
End Function
None.gif
None.gif
Sub  SearchFolder( fd, s ) 
None.gif   found 
=   False   
None.gif   
For   each  f In fd.Files
None.gif      pos 
=   InStrRev (f.Path,  " . "  )
None.gif      
If  pos  >   0   Then
None.gif         ext 
=   Mid (f.Path, pos  +   1  )
None.gif      
Else
None.gif         ext 
=   ""
None.gif      
End   If
None.gif      
If   LCase (ext)  =   " htm "   Then
None.gif         
If  SearchFile( f, s, title )  Then
None.gif            Response.Write FileLink(f, title)
None.gif            count
= count + 1
None.gif            
'  Response.Write cstr(count)
None.gif
          End   If
None.gif      
End   If
None.gif   
Next
None.gif
None.gif   
For   each  sfd In fd.SubFolders
None.gif      SearchFolder sfd, s
None.gif   
Next
None.gif
End Sub
None.gif%
>
None.gif
< html >
None.gif
None.gif
< head >
None.gif
< meta http - equiv = " Content-Type "  content = " text/html; charset=gb_2312-80 " >
None.gif
< title >< % = Head% ></ title >
None.gif
</ head >
None.gif
None.gif
< body bgcolor = " #FFFFFF " >
None.gif
None.gif
< h1 >< % = Head% ></ h1 >
None.gif
None.gif
< hr >
None.gif
None.gif
< ! --  注意search.asp为本文件,可根据需要修改! -->
None.gif
None.gif
< form action = " search.asp "  method = " Get " >  
None.gif    
< p > 请输入欲搜索的内容:  < input type = " text "
None.gif    size
= " 20 "  name = " SearchString "  value = " <%=SearchString%> " >   < input
None.gif    type
= " submit "  value = " 搜索 " >   </ p >
None.gif
</ form >
None.gif
< %
None.gif
Set  fs  =  Server.CreateObject( " Scripting.FileSystemObject " )
None.gif
Set  fd  =  fs.GetFolder( Server.MapPath( " ./ " ) )    ' 设置开始搜索的路径(将遍历其所有子目录,当前设置为search.asp所在目录)!
None.gif

None.gif
If  SearchString  <>   ""   Then
None.gif   Response.Write 
" <H2>搜索<font color=red> "   &  SearchString  &   " </font>结果如下:</H2><P> "
None.gif   SearchFolder fd,SearchString
None.gif
End   If
None.gif%
>
None.gif
< hr >
None.gif
</ body >
None.gif
</ html >
None.gif
None.gif
None.gif

转载于:https://www.cnblogs.com/qiangsheng/archive/2007/07/01/801806.html

相关文章:

  • html地址栏传值问题
  • 经典东北话集锦2
  • 汪中求讲座免费在线学习 免费下载
  • NAS DAS SAN三种存储方式的比较
  • 给WSS3.0增加用户与IP绑定功能
  • CrystalReport水晶报表
  • 网站SEO方案
  • 关于业务规则层、业务实体层、业务外观层、模型层的作用很不清楚,殷切期望解答...
  • 交换机和路由器的区别
  • 如何在Windows server 2003上安装和设置Citrix MetaFrame XP FR3
  • 【转贴】DXUT 框架入门 2
  • Rawether .NET
  • 我的部分设计作品(DIV+CSS)截屏
  • Ghost系统含漏洞藏杀机 伺机破坏计算机
  • B-BOY十大守则
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Python_网络编程
  • Vue官网教程学习过程中值得记录的一些事情
  • 力扣(LeetCode)357
  • 浏览器缓存机制分析
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 巧用 TypeScript (一)
  • 如何学习JavaEE,项目又该如何做?
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (20050108)又读《平凡的世界》
  • (39)STM32——FLASH闪存
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)Linq学习笔记
  • (转)负载均衡,回话保持,cookie
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)为C# Windows服务添加安装程序
  • *p++,*(p++),*++p,(*p)++区别?
  • .bat文件调用java类的main方法
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET开发不可不知、不可不用的辅助类(一)
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @vue/cli 3.x+引入jQuery
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [CISCN 2019华东南]Web11
  • [CSS3备忘] transform animation 等
  • [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态
  • [GXYCTF2019]BabySQli1
  • [IE技巧] IE8中HTTP连接数目的变化
  • [JavaWeb]—Spring入门
  • [JavaWeb学习] tomcat简介、安装及项目部署
  • [java基础揉碎]方法的重写/覆盖
  • [Java算法分析与设计]--线性结构与顺序表(List)的实现应用