以文本方式查看主题

-  智睿软件_技术交流论坛  (http://zhirui.net/bbs/index.asp)
--  Web程序开发  (http://zhirui.net/bbs/list.asp?boardid=22)
----  ASP实现模糊搜索并让关键词显示红色  (http://zhirui.net/bbs/dispbbs.asp?boardid=22&id=3804)

--  作者:zhirui
--  发布时间:2017-02-05 11:57:26
--  ASP实现模糊搜索并让关键词显示红色

搜索功能是网站必须的一个模块,我们常常需要输入一个关键词,就想让所有跟这个关键词相关的结果都出来,并给关键词红色凸出显示,下面青岛星网跟大家分享下实现思路。

搜索框的代码

1
2
3
4
<form action="search.asp" method="post" name="form1">
 <input name="key" type="text" class="bk" id="key" size="12" />
<input type="image" name="imageField" id="imageField" src="index/login.jpg" />
</form>

接收页面search.asp,在这个页面的顶部写入下面的代码,让搜索的值不为空

1
2
3
4
5
6
7
<%
key=request("key")
if key="" then
   response.write "<script>alert(\'查找字符串不能为空!\');window.location=\'index.asp\';</script>"
   response.end
end if
%>

这一步:单纯的判断不为空不能满足实际项目的需求,我们在这里可能要对搜索词进行更多的判断,例如:是否有违法字符等,如有违法字符则进行提示不进行后面的搜索,节省资源。

模糊搜索的语句

1
2
3
4
5
6
7
8
<%
Set rs= Server.CreateObject("ADODB.Recordset")
sql="select * from 表 where 字段名 Like \'%"&replace(trim(key)," ","%\' and 字段名 like \'%")&"%\'  order by id desc"
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<p align=\'center\'>对不起,没有找到相关新闻</p>"
else
%>

下面是给关键词红色凸出显示

1
<%=replace(rs("title"),key,"<font color=#FF0000><strong>" &key& "</strong></font>")%>
[此贴子已经被作者于2017-02-05 11:57:40编辑过]