PHP实例开发(1)PHP站内搜索

PHP站内搜索:多关键字、加亮显示

1、SQL语句中的模糊查找

$sql = "SELECT * FROM `message` WHERE `content`like '%$k[0]%' and `content`like '%$k[0]%'";

2、多个关键字搜索的原理和技巧

3、替换关键字高亮显示

$r[content] = preg_replace("/($_GET[key])/i", "<font color = red><b>\\1</b></font>", $r[content]);

代码实例:

<?php
include("26_mysql_class.php");
header("Content-type:text/html;charset=utf-8");
error_reporting(0);
$db = new mysql('localhost','root','','message_board','utf8');

if($_GET[key]){
    $k = explode ( " ", $_GET[key]);

    $sql = "SELECT * FROM `message` WHERE `content`like '%$k[0]%' and `content`like '%$k[0]%'";
    echo "GET内容:".$_GET[key]."<br>"."<hr>搜索结果<br>";
    $q = $db->query($sql);
    while ($r = mysql_fetch_array($q)) {
        $r[content] = preg_replace("/($k[0])/i", "<font color = red><b>\\1</b></font>", $r[content]);
        $r[content] = preg_replace("/($k[1])/i", "<font color = red><b>\\1</b></font>", $r[content]);
        echo $r[content]."<br>";
    }
}
?>

<form action="" method="get">
    关键字:
    <input type = "text" name="key"/>
    <input type = "submit" name="sub" value="全站搜索"/>
</form>

 

posted on 2015-07-31 22:46  记得回家吃饭  阅读(1476)  评论(0编辑  收藏  举报