本文實例講述了PHP實現關鍵字搜索后描紅功能。分享給大家供大家參考,具體如下:
在剛開始學習php的時候,就對搜索過后的關鍵字描紅感到好奇,但是這幾天在鞏固php基礎的時候,就發現原來這樣的效果實現并不難。按照慣例,首先給大家看看效果圖吧。
運行效果圖

數據庫相關
- 數據庫名是book,只有一個數據庫表,也是book,模擬了5條數據。
- name字段是書名,description字段是書的描述

代碼
!DOCTYPE html>
html>
head>
meta charset="utf-8">
meta http-equiv="X-UA-Compatible" content="IE=edge">
title>/title>
link rel="stylesheet" href="">
/head>
body>
form action="14.php" method="post">
請輸入關鍵字:input type="text" name="keyword">
input type="submit" value="提交" />
/form>
?php
if(!empty($_POST['keyword'])){
$keyword = $_POST['keyword'];//獲取輸入的關鍵字
//進行數據庫連接
$conn = mysql_connect("localhost","root","1234");
if(!$conn){
die("數據庫連接失敗");
}
$flag = mysql_select_db("book",$conn);
if(!$flag){
die("數據庫打開失敗");
}
mysql_query("set names utf8");
$sql = "select * from book where name like '%$keyword%' or description like '%$keyword%'";
$result = mysql_query($sql,$conn);
while($row = mysql_fetch_assoc($result)){
?>
div style="width:300px;height:100px;background-color: #ccc;margin-bottom: 10px">
p>書名:?php echo str_ireplace($keyword, "font color='#f00'>$keyword/font>",$row['name'])?>/p>
p>描述:?php echo str_ireplace($keyword, "font color='#f00'>$keyword/font>",$row['description'])?>/p>
/div>
?php
}
}else{
echo "很遺憾,沒有找到書籍";
}
?>
/body>
/html>
最后說一下實現的原理,首先先獲取從文本框輸入的關鍵字文字,然后就是連接數據庫進行查詢,將書名中或者描述中包含關鍵字文字的記錄查詢出來,把查詢到的結果循環顯示出來,在顯示書名和描述的時候,用str_ireplace()
函數將其中的關鍵字文字替換成帶有紅色的文字,就實現了關鍵字描紅的效果。
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php+mysql數據庫操作入門教程》、《php+mysqli數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- php站內搜索并高亮顯示關鍵字的實現代碼
- PHP獲取搜索引擎關鍵字來源的函數(支持百度和谷歌等搜索引擎)
- PHP自定義函數獲取搜索引擎來源關鍵字的方法
- PHP使用微信開發模式實現搜索已發送圖文及匹配關鍵字回復的方法
- javascript、php關鍵字搜索函數的使用方法
- PHP 搜索查詢功能實現
- php啟用sphinx全文搜索的實現方法
- php 搜索框提示(自動完成)實例代碼
- jquery+php實現搜索框自動提示
- ThinkPHP讓分頁保持搜索狀態的方法
- PHP查找與搜索數組元素方法總結