专栏首页Hongtenphp开发_多关键字,高亮显示

php开发_多关键字,高亮显示

项目结构:

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

搜索结果:  高亮显示

项目所需数据库结构:

================================================================

           实现代码:

================================================================

conn.php

1 <?php
2 $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
3 mysql_select_db("form", $conn);
4 mysql_query("set names 'gbk'"); 
5 ?>

searchAndDisplayWithColor.php

 1 <?php
 2 include 'conn.php';
 3 ?>
 4 
 5 <table width=500 align="center">
 6     <form action="" method="get">
 7     <tr>
 8         <td>关键字:<input type="text" name="keyWord" />
 9         <input type="submit" value="搜索" /></td>
10     </tr>
11     </form>
12 </table>
13 
14 <table width=500 border="0" align="center" cellpadding="5"
15     cellspacing="1" bgcolor="#add3ef">
16     <?php
17     //关键字不为空的时候才执行相关搜索
18     if($_GET['keyWord']){
19     //用空格符把关键字分割开
20     $key=explode(' ', $_GET[keyWord]);
21     $sql="select * from message where title like '$key[0]' or title like '$key[1]' or content like '$key[0]' or content like '%$key[1]%'";
22     $query=mysql_query($sql);
23     while ($row=mysql_fetch_array($query)){
24         //替换关键字,并且把关键字高亮显示
25         $row[title]=preg_replace("/$key[0]/i", "<font color=red><b>$key[0]</b></font>", $row[title]);
26         $row[title]=preg_replace("/$key[0]/i", "<font color=red><b>$key[1]</b></font>", $row[title]);
27         $row[content]=preg_replace("/$key[0]/i", "<font color=red><b>$key[0]</b></font>", $row[content]);
28         $row[content]=preg_replace("/$key[1]/i", "<font color=red><b>$key[1]</b></font>", $row[content]);
29         ?>
30 
31     <tr bgcolor="#eff3ff">
32         <td>标题:<font color="black"><?=$row[title]?></font> 用户:<font color="black"><?=$row[user] ?></font>
33         <div align="right"><a href="preEdit.php?id=<?=$row[id]?>">编辑</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a
34             href="delete.php?id=<?=$row[id]?>">删除</a></div>
35         </td>
36     </tr>
37     <tr bgColor="#ffffff">
38         <td>内容:<?=$row[content]?></td>
39     </tr>
40     <tr bgColor="#ffffff">
41         <td>
42         <div align="right">发表日期:<?=$row[lastdate]?></div>
43         </td>
44     </tr>
45     <?php }
46     }
47     ?>
48 </table>

说明:在这个小程序中,有一点不足之处在于,只能同时搜索两个关键字,并且中间用空格" "隔开,如果只是搜索一个关键字,如:"大" 显示的时候会出现乱码 ……^|_|^,这是由于下面代码的结果:

1 //用空格符把关键字分割开
2 $key=explode(' ', $_GET[keyWord]);

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java开发_MD5_加密算法

    Hongten
  • android开发_Intent初级学习

    前面说到用Intent来拨打电话和发送短信,主要是介绍了Intent的一些简单方法,这里Intent启动了另一个Activity,在之前的内容都是在一个Acti...

    Hongten
  • python开发_logging_日志处理

    ============================================================

    Hongten
  • 微信小程序根据线上版本 Source Map 文件定位错误代码

    也就是说,如果我们的页面在packageDynamic包下,我们定位的时候就要使用packageDynamic下的文件

    envoke
  • 如何构建智能反垃圾邮件WordPress插件

    在本文中,我们将看到我们如何构建一个使用机器学习来阻止垃圾邮件,成人邮件,甚至是负面评论的WordPress插件。该插件与WordPress 3.6v或更高版本...

    人工智能资讯小编
  • 2018-11-18 在 GitHub 上保持 365 天全绿是怎样一种体验?Most active GitHub users (git.io/top)

    先看看这个文章https://www.zhihu.com/question/34043434/answer/57826281

    Albert陈凯
  • 聊聊flink KeyedStream的KeySelector

    flink-streaming-java_2.11-1.7.0-sources.jar!/org/apache/flink/streaming/api/data...

    codecraft
  • 【图像处理】反色

    反色是与原色叠加可以变为白色的颜色,即用白色(RGB:255,255,255)减去原色的颜色。比如(RGB:255,0,0)的反色是(0,255,255)。

    JNingWei
  • [剑指offer][Java]树的子结构

    https://www.nowcoder.com/questionTerminal/6e196c44c7004d15b1610b9afca8bd88 输入两棵...

    后端技术漫谈
  • flask 图片缩放(flask 96)

    def rename_image(old_filename): ext = os.path.splitext(old_filename)[1] new_fi...

    用户5760343

扫码关注云+社区

领取腾讯云代金券