PHP实现多关键字加亮功能


Posted in PHP onOctober 21, 2016

本文主要介绍的是PHP实现多关键字加亮功能,可以实现在搜索的时候进行高亮提醒,具体实现代码如下:

项目结构:

PHP实现多关键字加亮功能

搜索结果:  高亮显示

PHP实现多关键字加亮功能

项目所需数据库结构:

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]);

希望本文所述对你有所帮助,PHP实现多关键字加亮功能内容就给大家介绍到这里了。希望大家继续关注我们的网站!想要学习php可以继续关注本站。

PHP 相关文章推荐
又一个php 分页类实现代码
Dec 03 PHP
php array的学习笔记
May 10 PHP
浅析php过滤html字符串,防止SQL注入的方法
Jul 02 PHP
PHP分页类集锦
Nov 18 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
PHP获取文件夹内文件数的方法
Mar 12 PHP
PHP微信红包API接口
Dec 05 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
Nov 29 PHP
利用PHP计算有多少小于当前数字的数字方法示例
Aug 26 PHP
如何用PHP实现多线程编程
May 26 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 #PHP
PHP与服务器文件系统的简单交互
Oct 21 #PHP
微信公众号开发客服接口实例代码
Oct 21 #PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 #PHP
PHP Header用于页面跳转时的几个注意事项
Oct 21 #PHP
phpcms中的评论样式修改方法
Oct 21 #PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
Oct 20 #PHP
You might like
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
详解Python中dict与set的使用
2015/08/10 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
让Python更加充分的使用Sqlite3
2017/12/11 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
python3实现多线程聊天室
2018/12/12 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
python反扒机制的5种解决方法
2021/02/06 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
世界上最大的巴士旅游观光公司:Big Bus Tours
2016/10/20 全球购物
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
开业主持词
2014/03/21 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书