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


Posted in PHP onApril 23, 2012

项目结构:

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 相关文章推荐
使用sockets:从新闻组中获取文章(三)
Oct 09 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
May 02 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 PHP
CodeIgniter中实现泛域名解析
Jul 19 PHP
smarty简单分页的实现方法
Oct 27 PHP
DOM基础及php读取xml内容操作的方法
Jan 23 PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 PHP
CI(CodeIgniter)模型用法实例分析
Jan 20 PHP
php图像验证码生成代码
Jun 08 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
Mar 23 PHP
php入门之连接mysql数据库的一个类
Apr 21 #PHP
洪恩在线成语词典小偷程序php版
Apr 20 #PHP
php 文件上传实例代码
Apr 19 #PHP
php开发留言板的CRUD(增,删,改,查)操作
Apr 19 #PHP
php和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 #PHP
php递归创建和删除文件夹的代码小结
Apr 13 #PHP
redis 队列操作的例子(php)
Apr 12 #PHP
You might like
逐步提升php框架的性能
2008/01/10 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
JS 有名函数表达式全面解析
2010/03/19 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
微信小程序 wx:key详细介绍
2016/10/28 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
Node.js笔记之process模块解读
2018/05/31 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
Node 代理访问的实现
2019/09/19 Javascript
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
英国办公用品商店:Office Outlet
2018/04/04 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
心理健康心得体会
2014/01/02 职场文书
应届生如何写自荐信
2014/01/05 职场文书
单身联谊活动方案
2014/01/29 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
租房协议书
2014/09/12 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
赡养老人协议书范本
2015/08/06 职场文书
遗嘱范文
2015/08/07 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android