分享
 
 
 

刚写的应用于某软件的全文检索程序

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

<p> <!--#include file=function/conn.asp-->

<br>

<%

keyWord=trim(request("oKey"))

sType=trim(request("oType"))

if keyWord="" or keyWord="关键字…" then

Response.Write "请输入关键字!"

Response.End()

end if

if sType="" then

Response.Write "请选择查询信息类别"

Response.End()

end if

dim ftsTable '要查询信息的储存表名

dim ftsFolder '要查询信息的储存文件夹

if sType="1" then

ftsTable="tb_bzxx"

ftsFolder=fjroot

elseif sType="2" then

ftsTable="tb_other"

ftsFolder=fjroot_other

elseif sType="3" then

ftsTable="tb_info"

ftsFolder=fjroot_info

else

Response.Write "出错了!"

Response.End

end if

sql=""

if sType="1" then

sql="select bz_xuhao as xuhao,bz_name as bname,bz_code as bcode,bz_htm as htm from " & ftsTable

elseif sType="2" then

sql="select p_xuhao as xuhao,p_name as bname,p_code as bcode,p_htm as htm from " & ftsTable

elseif sType="3" then

sql="select info_id as xuhao,info_htm,info_type as htm from " & ftsTable

else

Response.Write "出错了!"

Response.End

end if

Call OPenConn() ' 打开数据库连接

set fso=server.CreateObject("scripting.filesystemobject")

set rs=server.createobject("adodb.recordset")

dim oPattern

oPattern="<p>|<p(.*)>|</p>"

'如果是查询第三种信息(其他信息),则先将所有的信息类别取出来,放到数组中。

dim infoType()

if sType="3" then

rs.Open "select type_id,type_name from tb_info_type order by type_id desc",adocon,3,1

if rs.RecordCount<=0 then

CloseRs rs

Call CloseConn

Response.Write "出错了!"

Response.End()

end if

redim infoType(clng(rs(0)))

do while not rs.EOF

infoType(clng(rs(0)))=rs(1)

rs.MoveNext

loop

rs.Close()

end if

%>

<h4 ALIGN= "CENTER" STYLE= "COLOR:#000080" > 标准信息系统全文检索结果

&nbsp;关键字: <span style= "color:#ff0000" > <%=KEYWORD%>

</span><br>

</h4>

<hr>

<table width= "600" >

<tr>

<td style= "font-size:12;color:000000;line-height:1.8" > <%

'进行检索

rs.Open sql,adocon,3,1

if rs.RecordCount>0 then

sCount=0

do while not rs.EOF

findPos=0

htm=rs("htm")

if htm<>"" then

vpath=ftsFolder & "/" & rs("xuhao") & "/" & htm

filePath=Server.MapPath(vpath)

if fso.FileExists(filepath) then

set oFile=fso.GetFile(filepath)

set oFilestream=oFile.openastextstream(1)

oFileInfo=""

if not oFilestream.atendofstream then

oFileInfo=FilterHTML(FilterBr(trim(oFilestream.readall)))

if oFileInfo<>"" then

findPos=instr(1,oFileInfo,keyWord,1)

'查到了数据,需要显示

if findPos>0 then

Response.Write "<a href='" & vpath & "' target='_blank'>"

if sType="1" or sType="2" then

Response.Write "<span style='font-weight:bold;font-size:13;color:0000ff'>" & rs("bname") & " ( " & rs("bcode") & " )</span></a><br>"

else

Response.Write "<span style='font-weight:bold;font-size:13;color:0000ff''>" & infotype(clng(rs("info_Type"))) & "</span></a><br>"

end if

if findPos>50 then

Response.Write "…" & replace(mid(oFileInfo,findPos-50,200),keyWord,"<span style='color:ff0000'>" & keyWord & "</span>",1,-1,1) & "…"

else

Response.Write replace(mid(oFileInfo,1,200),keyWord,"<span style='color:ff0000'>" & keyWord & "</span>",1,-1,1)& "…"

end if

Response.Write "<br><br>"

sCount=sCount+1

end if

end if

end if

end if

end if

rs.MoveNext

loop

end if

Response.Write "<SPAN STYLE='COLOR:#000080'>共搜索到 " & sCount & " 条信息!</SPAN>"

'过滤掉文本中的html标记和空格

Function FilterHTML(str)

Dim re

Set re=new RegExp

re.IgnoreCase =True

re.Global=True

re.Pattern="<(.[^>]*)>|&nbsp;"

str=re.Replace(str,"")

set re=Nothing

FilterHTML=str

End Function

function FilterBr(str)

FilterBr=replace(str,vbcrlf,"")

FilterBr=replace(str,"<br>","")

end function

%>

</td>

</tr>

</table>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有