zoukankan      html  css  js  c++  java
  • 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]);

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

  • 相关阅读:
    (原)Lazarus 异构平台下多层架构思路、DataSet转换核心代码
    (学)新版动态表单研发,阶段成果3
    (学) 如何将 Oracle 序列 重置 清零 How to reset an Oracle sequence
    (学)XtraReport WebService Print 报错
    (原)三星 i6410 刷机 短信 无法 保存 解决 办法
    (原) Devexpress 汉化包 制作工具、测试程序
    linux下网络配置
    apache自带ab.exe小工具使用小结
    Yii::app()用法小结
    PDO使用小结
  • 原文地址:https://www.cnblogs.com/hongten/p/php_keyword.html
Copyright © 2011-2022 走看看