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';
?>

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","$key[0]",$row[title]);
$row[title]=preg_replace("/$key[0]/i","$key[1]",$row[title]);
$row[content]=preg_replace("/$key[0]/i",$row[content]);
$row[content]=preg_replace("/$key[1]/i",$row[content]);
?> 标题: 用户

内容:

PHP }
}
?>

说明:在这个小程序中,有一点不足之处在于,只能同时搜索两个关键字,并且中间用空格" "隔开,如果只是搜索一个关键字,如:"大"
显示的时候会出现乱码 ……^|_|^,这是由于下面代码的结果:
代码如下:
//用空格符把关键字分割开
$key=explode(' ',$_GET[keyWord]);

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

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...