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可以继续关注本站。

(0)

相关推荐

  • PHP+Mysql实现多关键字与多字段生成SQL语句的函数

    本文实例讲述了PHP+Mysql实现多关键字与多字段生成SQL语句的函数的方法.分享给大家供大家参考.具体实现方法如下: 先看实例: 复制代码 代码如下: $keyword="1 2 3"; echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //函数生成,没有LIMIT,没有ORDER BY 生成: 复制代码 代码如下: SELECT * FROM `enter_gongyin_pic

  • php mysql like 实现多关键词搜索的方法

    或者叫,分词检索数据库 $res = mysql_query("select * from peter where id like '%中草药%' and '%6%'"); //这样写是报错的: $res = mysql_query("select * from peter where id like '%中草药%' or '%6%'"); //而这样写是正确的:奇怪~ $res = mysql_query("select * from peter whe

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

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

  • 用JS让文章内容指定的关键字加亮

    用JS让文章内容指定的关键字加亮 是这样的.. 现在有这些关键字:美容,生活,购物 当在文章里头出现这些关键字,就把它加亮显示.. 文章是生成静态页面的,而这些关键字是能随时更新的,所以我想用JS来实现... 不知道怎样来实现这样的功能啊?特此求助 txt.innerHTML = txt.innerHTML.replace(/文章/gi,"文章"); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 多关键词 用JS让文章内容指定的关键字加亮 是这样的.. 现在有这些关键字:

  • 原生JS封装_new函数实现new关键字的功能

    一.前言 众所周知:没有对象怎么办?那就new一个! 那么在JS中,当我们new一个对象的时候,这个new关键字内部都干了什么呢? 现在我们就来剖析一下原生JS中new关键字内部的工作原理. 二.原始的new 首先,我们先new一个对象看看: //创建Person构造函数,参数为name,age function Person(name,age){ this.name = name; this.age = age; } //实例化对象小明 xm = new Person('xiaoming',1

  • Android中BroadcastReceiver实现短信关键字自动回复功能

    前言:因公司业务需要,需要一台手机专门回复客户订购的套餐的短信,之前一直是人工手动回复,但比较麻烦且回复可能不及时,于是项目经理就让实现根据短信的关键字自动回复功能. 实现手机短信监听的方式有两种:一是通过ContentObserver观察者实现监听,另一种就是通过广播即BroadcastReceiver实现短信监听,文章中通过使用BroadcastReceiver实现有新短信的及时监听及包含设定的关键字时自动回复. 效果图: 清单文件添加权限: <uses-permission android

  • vue中添加与删除关键字搜索功能

    具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible

  • Vue 实现分页与输入框关键字筛选功能

    分页的实现(Vue+Element)+输入框关键字筛选 1.这里用的是Element 自带的分页组件 <template> <div class="sales-table"> <div class="order-list-header">订单列表</div> <div class="back-box"> <div class="search-box">&l

  • vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)

    1.首先在index.html引入高德地图的秘钥.如图: 注意:如果使用关键字搜索功能要加上 plugin=AMap.Autocomplete,AMap.PlaceSearch,否则功能无法使用,并会报错 2. 定位功能,代码如下: const map = new AMap.Map(this.$refs.container, { resizeEnable: true }) // 创建Map实例 const options = { 'showButton': true, // 是否显示定位按钮 '

  • JavaScript实现关键字高亮功能

    高亮功能主要是指对页面中指定区域的指定文字进行高亮显示,也就是背景着色.一般在搜索结果页面会经常用到这个功能. 下面就为大家提供一种解决方案,用javascript实现. 首先在<head>中引入下面javascript方法: 复制代码 代码如下: <script type="text/javascript"> //<![CDATA[     //--------begin function fHl(o, flag, rndColor, url)-----

  • angluarjs实现过滤并替换关键字小功能

    本文实例为大家分享了angluarjs实现过滤并替换关键字的具体代码,供大家参考,具体内容如下 html样式 <body ng-app="myapp" ng-controller="myCtrl"> <input type="text" ng-model="keytext"> <p>{{ keytext|wordFilter:"#" }}</p> </b

  • jQuery实现搜索页面关键字的功能

    在一篇文章中查找关键字,找到后高亮显示. 具体代码: <html> <head> <title>Search</title> <style type="text/css"> p { border:1px solid black;width:500px;padding:5px;} .highlight { background-color:yellow; } </style> </head> <bo

随机推荐