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 相关文章推荐
全文搜索和替换
Oct 09 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
php 文章调用类代码
Aug 11 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
深入密码加salt原理的分析
Jun 06 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
php+mysql数据库实现无限分类的方法
Dec 12 PHP
Yii2框架使用计划任务的方法
May 25 PHP
PHP实现动态压缩js与css文件的方法
May 02 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
May 14 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
Mar 16 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
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
PHP中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
PHP define函数的使用说明
2008/08/27 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
php 删除cookie方法详解
2014/12/01 PHP
PHP7 其他修改
2021/03/09 PHP
javascript 写类方式之五
2009/07/05 Javascript
关于跨站脚本攻击问题
2011/12/22 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
深入理解Javascript中的循环优化
2013/11/09 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
python基础教程之获取本机ip数据包示例
2014/02/10 Python
部署Python的框架下的web app的详细教程
2015/04/30 Python
教你学会使用Python正则表达式
2017/09/07 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
python logging日志模块原理及操作解析
2019/10/12 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
美国女孩服装购物网站:Justice
2017/03/04 全球购物
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
美国在线家具网站:GDFStudio
2021/03/13 全球购物
团员的自我评价
2013/12/01 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
五五普法心得体会
2014/09/04 职场文书
党员教师自我剖析材料
2014/09/29 职场文书
搞笑老公保证书
2015/02/26 职场文书
Vue3中的Refs和Ref详情
2021/11/11 Vue.js
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android