php 多关键字 高亮显示实现代码

项目结构:

开始搜索:   这里搜索关键字("大""这")

搜索结果:  高亮显示

项目所需数据库结构:


实现代码:
conn.php


代码如下:

<?php
$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
mysql_select_db("form", $conn);
mysql_query("set names 'gbk'");
?>

searchAndDisplayWithColor.php


代码如下:

<?php
include 'conn.php';
?>

<table width=500 align="center">
<form action="" method="get">
<tr>
<td>关键字:<input type="text" name="keyWord" />
<input type="submit" value="搜索" /></td>
</tr>
</form>
</table>

<table width=500 border="0" align="center" cellpadding="5"
cellspacing="1" bgcolor="#add3ef">
<?php
//关键字不为空的时候才执行相关搜索
if($_GET['keyWord']){
//用空格符把关键字分割开
$key=explode(' ', $_GET[keyWord]);
$sql="select * from message where title like '$key[0]' or title like '$key[1]' or content like '$key[0]' or content like '%$key[1]%'";
$query=mysql_query($sql);
while ($row=mysql_fetch_array($query)){
//替换关键字,并且把关键字高亮显示
$row[title]=preg_replace("/$key[0]/i", "<font color=red><b>$key[0]</b></font>", $row[title]);
$row[title]=preg_replace("/$key[0]/i", "<font color=red><b>$key[1]</b></font>", $row[title]);
$row[content]=preg_replace("/$key[0]/i", "<font color=red><b>$key[0]</b></font>", $row[content]);
$row[content]=preg_replace("/$key[1]/i", "<font color=red><b>$key[1]</b></font>", $row[content]);
?>

<tr bgcolor="#eff3ff">
<td>标题:<font color="black"><?=$row[title]?></font> 用户:<font color="black"><?=$row[user] ?></font>
<div align="right"><a href="preEdit.php?id=<?=$row[id]?>">编辑</a>  |  <a
href="delete.php?id=<?=$row[id]?>">删除</a></div>
</td>
</tr>
<tr bgColor="#ffffff">
<td>内容:<?=$row[content]?></td>
</tr>
<tr bgColor="#ffffff">
<td>
<div align="right">发表日期:<?=$row[lastdate]?></div>
</td>
</tr>
<?php }
}
?>
</table>

说明:在这个小程序中,有一点不足之处在于,只能同时搜索两个关键字,并且中间用空格" "隔开,如果只是搜索一个关键字,如:"大"
显示的时候会出现乱码 ……^|_|^,这是由于下面代码的结果:


代码如下:

//用空格符把关键字分割开
$key=explode(' ', $_GET[keyWord]);

如果要改进的话,在这里的后面就要做一下判断了。

(0)

相关推荐

  • PHP函数实现从一个文本字符串中提取关键字的方法

    本文实例讲述了PHP函数实现从一个文本字符串中提取关键字的方法.分享给大家供大家参考.具体分析如下: 这是一个函数定位接收一个字符串作为参数(连同其他配置可选参数),并且定位该字符串中的所有关键字(出现最多的词),返回一个数组或一个字符串由逗号分隔的关键字.功能正常工作,但我正在改进,因此,感兴趣的朋友可以提出改进意见. /** * Finds all of the keywords (words that appear most) on param $str * and return them

  • PHP实现多关键字加亮功能

    本文主要介绍的是PHP实现多关键字加亮功能,可以实现在搜索的时候进行高亮提醒,具体实现代码如下: 项目结构: 搜索结果:  高亮显示 项目所需数据库结构: 实现代码: conn.php <?php $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); mysql_select_db("form", $conn); mys

  • PHP中使用strpos函数实现屏蔽敏感关键字功能

    现在网络信息监管很严格,特别是屏蔽关键字.特别是现在WEB2.0时代,网站的内容几乎都是来自网民发布,站长管理即可.如果你希望别人在你站点禁止发布某个关键字,那么就需要预先做处理.用PHP做关键字屏蔽的功能样式有多种多样,如正则是最普遍的一种,这里就不一一例举,本文介绍使用PHP函数strpos屏蔽关键字的功能. 思路: 一.把关键字专门写在一个文本文件里,每行一个,数量不限,有多少写多少. 二.PHP读取关键字文本,存入一个数组 三.遍历关键字数组,挨个用strpos函数去看看内容有没有关键字

  • php站内搜索并高亮显示关键字的实现代码

    复制代码 代码如下: <?php require_once 'sqlTools.class.php';//封装类,可执行dql.dml语句 $info=$_POST['info']; $sql="select name,password,email from user_500 where name like '%$info%' or password like '%$info%' or email like '%$info%'"; $sqlTools=new SqlTools()

  • php 多关键字 高亮显示实现代码

    项目结构: 开始搜索:   这里搜索关键字("大""这") 搜索结果:  高亮显示 项目所需数据库结构: 实现代码: conn.php 复制代码 代码如下: <?php $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); mysql_select_db("form", $conn

  • javascript 关键字高亮显示实现代码

    关键字高亮显示 我们是一个专业的收集各类脚本学习资料的网站,尽量修正错误打造精品脚本类学习网站,我们为大家游戏脚本资源,源码,软件,asp,php,javascript等编程资料,是网页制作,网络编程,网站建设人士的聚集场所. 提供最新的网络编程.脚本编程.网页制作.网页设计.网页特效,为站长与网络编程从业者提供学习资料. 脚本,vbscript,正则表达式,jquery,dos,bat,批处理,javascript,Photoshop,HTML,div+css,ASP,PHP,ASP.NET

  • 用JS将搜索的关键字高亮显示实现代码

    用JS让文章内容指定的关键字加亮 是这样的.. 现在有这些关键字:美容,生活,购物当在文章里头出现这些关键字,就把它加亮显示.. 文章是生成静态页面的,而这些关键字是能随时更新的,所以我想用JS来实现...不知道怎样来实现这样的功能啊?特此求助 复制代码 代码如下: <script language="JavaScript">function highlight(key) { var key = key.split('|'); for (var i=0; i<key.

  • JavaScript正则方法replace实现搜索关键字高亮显示

    前言 正则表达式是字符串处理工具中强有力的工具.也有人认为这只是一个小玩具,但不管怎么说都离不开它. 这里介绍的是JavaScript的正则表达式的replace方法 ,和实现搜索关键字高亮的功能. 先介绍一下正则表达式的replace方法 replace介绍 w3school原文链接介绍 正则表达式如何使用特殊字符$来表示原来的文本,这是实现搜索高亮的关键, var str = "asad sad 123 sd qwe21"; str.replace(/\d+/img,"数

  • vue2实现搜索结果中的搜索关键字高亮的代码

    具体代码如下所示: // 筛选变色 brightenKeyword(val, keyword) { val = val + ''; if (val.indexOf(keyword) !== -1 && keyword !== '') { return val.replace(keyword, '<font color="#409EFF">' + keyword + '</font>') } else { return val } } // 或者用

  • 微信小程序关键字变色实现代码实例

    这篇文章主要介绍了微信小程序关键字变色实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.小程序中不支持渲染indexOf使用,我们可以通过新建wps来实现 function fn(arr, arg) { var result = { indexOf: false, toString: '' } result.indexOf = arr.indexOf(arg) > -1; result.toString = arr.join(&quo

  • python生成器和yield关键字(完整代码)

    下列代码用于先体验普通列表推导式和生成器的差别: # def add(): #     temp = ["姓名", "学号", "班级", "电话"] #     dic = {} #     lst = [] #     for item in temp: #         inp = input("请输入{}:".format(item)) #         if inp == "exit

  • 用js查找法实现当前栏目的高亮显示的代码

    当前栏目高亮显示        JS判断当前URL对当前栏目高亮显示,重点是用到了indexOf来判断两个字符串中第一次出现的位置,如果没有出现就返回-1,出现就返回 其它,并与返回其它结果的那个字符串所在元素定义一个class. HTML 复制代码 代码如下: <div id="nav">   <ul>   <li><a href="http://www.jb51.net/html/list/index_127.htm" 

  • Discuz5.5.0代码高亮显示+运行代码框合成插件 下载第1/4页

    主要功能: 1.几乎支持所有程序代码的高亮显示,包括以下语言:Actionscript.ADA.Apache Log.AppleScript.ASM.ASP.AutoIT.Backus-Naur form.Bash.BlitzBasic.C.C for Macs.C#.C++.CAD DCL.CadLisp.CFDG.CFDG.ColdFusion.CSS.Delphi.DIV.DOS.Eiffel.Fortran.Fortran.FreeBasic.GML.Groovy.HTML.Inno.I

随机推荐