首頁  >  文章  >  後端開發  >  php怎麼實作關鍵字描紅

php怎麼實作關鍵字描紅

藏色散人
藏色散人原創
2021-11-18 09:35:272530瀏覽

php實作關鍵字描紅的方法:1、取得從文字方塊輸入的關鍵字文字;2、連接資料庫並進行查詢;3、把查詢到的結果循環顯示出來;4、用str_ireplace函數將其中的關鍵字文字替換成帶有紅色的文字即可。

php怎麼實作關鍵字描紅

本文操作環境:windows7系統、PHP7.1版、DELL G3電腦

php怎麼實作關鍵字描紅?

PHP實作關鍵字搜尋後描紅功能範例

本文實例講述了PHP實作關鍵字搜尋後描紅功能。分享給大家供大家參考,具體如下:

在剛開始學習php的時候,就對搜尋過後的關鍵字描紅感到好奇,但是這幾天在鞏固php基礎的時候,就發現原來這樣的效果實現並不難。按照慣例,先給大家看看效果圖。

運行效果圖

php怎麼實作關鍵字描紅

#資料庫相關

  • 資料庫名稱是book,只有一個資料庫表,也是book,模擬了5個資料。
  • name欄位是書名,description欄位是書的描述

php怎麼實作關鍵字描紅

#程式碼

<!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[&#39;keyword&#39;])){
    $keyword = $_POST[&#39;keyword&#39;];//获取输入的关键字
    //进行数据库连接
    $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 &#39;%$keyword%&#39; or description like &#39;%$keyword%&#39;";
    $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=&#39;#f00&#39;>$keyword</font>",$row[&#39;name&#39;])?></p>
  <p>描述:<?php echo str_ireplace($keyword, "<font color=&#39;#f00&#39;>$keyword</font>",$row[&#39;description&#39;])?></p>
</div>
<?php
  }
}else{
  echo "很遗憾,没有找到书籍";
}
?>
</body>
</html>

最後說一下實現的原理,首先先獲取從文本框輸入的關鍵字文字,然後就是連接資料庫進行查詢,將書名中或者描述中包含關鍵字文字的記錄查詢出來,把查詢到的結果循環顯示出來,在顯示書名和描述的時候,用str_ireplace()函數將其中的關鍵字文字替換成帶有紅色的文字,就實現了關鍵字描紅的效果。

推薦學習:《PHP影片教學

以上是php怎麼實作關鍵字描紅的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn