php实现搜索多关键词高亮显示程序代码

关键词高亮在php中实现相对很简单,他只需要获取利用提取过来的关键词进行分词然后再利用str_replace()函数来实现替换就可以原理相对很简单。

数据库连接文件,代码如下:

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

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

用空格符把关键字分割开,代码如下:$key=explode(' ', $_GET[keyWord]);

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

总结:上面的关键词高亮只是一个非常简单的用户提交过来什么我们就对这个关键词进行了str_replace进行高亮显示了,如果要做得更好可利用dedecms分词系统进行分词再操作会好很多哦。

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php实现搜索多关键词高亮显示程序代码

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡