PHP实现多关键字加亮功能

2025-05-29 0 22

本文主要介绍的是php实现多关键字加亮功能,可以实现在搜索的时候进行高亮提醒,具体实现代码如下:

项目结构:

PHP实现多关键字加亮功能

搜索结果: 高亮显示

PHP实现多关键字加亮功能

项目所需数据库结构:

PHP实现多关键字加亮功能

实现代码:

conn.php

?

1

2

3

4

5
<?php

$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");

mysql_select_db("form", $conn);

mysql_query("set names 'gbk'");

?>

searchanddisplaywithcolor.php

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47
<?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>

说明:在这个小程序中,有一点不足之处在于,只能同时搜索两个关键字,并且中间用空格" "隔开,如果只是搜索一个关键字,如:"大"

显示的时候会出现乱码 ……^|_|^,这是由于下面代码的结果:

?

1

2
//用空格符把关键字分割开

$key=explode(' ', $_get[keyword]);

希望本文所述对你有所帮助,php实现多关键字加亮功能内容就给大家介绍到这里了。希望大家继续关注我们的网站!想要学习php可以继续关注本站。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP实现多关键字加亮功能 https://www.kuaiidc.com/95966.html

相关文章

发表评论
暂无评论