欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

看PHP如何实现多关键字加亮_PHP教程

程序员文章站 2024-02-16 08:56:40
...
项目结构:

看PHP如何实现多关键字加亮_PHP教程

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

看PHP如何实现多关键字加亮_PHP教程

搜索结果: 高亮显示

看PHP如何实现多关键字加亮_PHP教程

项目所需数据库结构:

看PHP如何实现多关键字加亮_PHP教程

实现代码:

conn.php

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

searchAndDisplayWithColor.php

  1. include 'conn.php';
  2. ?>
  3. "center">
  4. "" method="get">
  5. 关键字:"text" name="keyWord" />
  6. "submit" value="搜索" />
  7. "0" align="center" cellpadding="5"
  8. cellspacing="1" bgcolor="#add3ef">
  9. //关键字不为空的时候才执行相关搜索
  10. if($_GET['keyWord']){
  11. //用空格符把关键字分割开
  12. $key=explode(' ', $_GET[keyWord]);
  13. $sql="select * from message where title like '$key[0]' or title like '$key[1]' or content like '$key[0]' or content like '%$key[1]%'";
  14. $query=mysql_query($sql);
  15. while ($row=mysql_fetch_array($query)){
  16. //替换关键字,并且把关键字高亮显示
  17. $row[title]=preg_replace("/$key[0]/i", "$key[0]", $row[title]);
  18. $row[title]=preg_replace("/$key[0]/i", "$key[1]", $row[title]);
  19. $row[content]=preg_replace("/$key[0]/i", "$key[0]", $row[content]);
  20. $row[content]=preg_replace("/$key[1]/i", "$key[1]", $row[content]);
  21. ?>
  22. "#eff3ff">
  23. "#ffffff">
  24. "#ffffff">
  25. }
  26. ?>
  27. 标题:"black">=$row[title]?> 用户:"black">=$row[user] ?>
  28. href="delete.php?id==$row[id]?>">删除
  29. 内容:=$row[content]?>
  30. "right">发表日期:=$row[lastdate]?>

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

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

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


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445701.htmlTechArticle项目结构: 498)this.width=498;' onmousewheel = 'javascript:return big(this)' height="183" alt="\" width="274" src="http://www.bkjia.com/uploadfile/2013/0904/2013090409540695...