php 多关键字 高亮显示实现代码
php 多关键字 高亮显示实现代码
发布时间:2016-12-29 来源:查字典编辑
摘要:项目结构:开始搜索:这里搜索关键字("大""这")搜索结果:高亮显示项目所需数据库结构:实现代码:conn.php复制代码代码如下:

项目结构:

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

开始搜索: 这里搜索关键字("大""这")

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

搜索结果: 高亮显示

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

项目所需数据库结构:

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

实现代码:

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教程学习
编程开发子分类