ホームページ php教程 php手册 php做站内搜索并高亮显示关键字

php做站内搜索并高亮显示关键字

May 25, 2016 pm 04:51 PM
見せる サイト検索 ハイライト

本文章介绍一篇较实用的文章关于php做站内搜索并高亮显示关键字,这个很多朋友直接利用preg_replace来操作,这是正确的哦,不过我觉得用str_replace更快一些哦,至于原因自己查查这两个函数的区别吧。

如何使用php做站内搜索并高亮显示关键字?代码如下:

<?php
require_once &#39;sqlTools.class.php&#39;; //封装类,可执行dql、dml语句
$info = $_POST[&#39;info&#39;];
$sql = "select name,password,email from user_500 where name like &#39;%$info%&#39; or password like &#39;%$info%&#39; or email like &#39;%$info%&#39;";
$sqlTools = new SqlTools();
$res = $sqlTools->execute_dql($sql);
while ($row = mysql_fetch_assoc($res)) {
    $row[&#39;name&#39;] = preg_replace("/($info)/i", "<b style=\"color:red\">1</b>", $row[&#39;name&#39;]);
    $row[&#39;password&#39;] = preg_replace("/($info)/i", "<b style=\"color:red\">1</b>", $row[&#39;password&#39;]);
    $row[&#39;email&#39;] = preg_replace("/($info)/i", "<b style=\"color:red\">1</b>", $row[&#39;email&#39;]);
    echo $row[&#39;name&#39;] . "-->" . $row[&#39;password&#39;] . "-->" . $row[&#39;email&#39;] . "<br>";
}
?>
ログイン後にコピー

思路分析:将sql语句中包含的%$info%交给DBMS执行的时候,他会查找字段中含有变量$info的值的信息,

%$info--->查找以$info的值结束的信息

$info%--->查找以$info的值开头的信息

通过正则函数preg_replace()将搜索到的关键字高亮显示,比如:

$row['name']=preg_replace("/($info)/i","1",$row['name']);

的意思是:通过POST方接收到的值$info替换为加上样式(红色加粗)的结果,并将结果重新赋给$row[‘name’]

如果要搜索多个关键字的话,可以对接收到值$info进行分割,比如$info_more=explode(" ",$info);//这种方式能对以空格隔开的关键字进行分割,再对分割后的结果挨个进行查询,同样,可以使用正则表达式函数进行替换工作,以高亮显示关键字,代码如下:

sqlTools.class.php的源代码:

<?php
class SqlTools {
    private $host = "localhost";
    private $dbname = "test";
    private $dbuser = "root";
    private $dbpwd = "";
    private $conn;
    public function __construct() {
        $this->conn = mysql_connect($this->host, $this->dbuser, $this->dbpwd);
        if (!$this->conn) {
            die("连接数据库失败" . mysql_error());
        }
        mysql_select_db($this->dbname, $this->conn) or die("找不到该数据库" . mysql_error());
        mysql_query("set names utf8");
    }
    public function execute_dml($sql) {
        $bool = mysql_query($sql);
        if ($bool) {
            if ($bool > 0) {
                return 1;
            } else {
                return 2;
            }
        } else {
            return 0;
        }
    }
    public function execute_dql($sql) {
        $res = mysql_query($sql);
        return $res;
    }
    public function close_conn() {
        mysql_close($this->conn);
    }
}
?>
ログイン後にコピー

               
               

本文链接:

收藏随意^^请保留教程地址.

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 の検索からニュースやトレンド コンテンツを削除する方法 Windows 11 の検索からニュースやトレンド コンテンツを削除する方法 Oct 16, 2023 pm 08:13 PM

Windows 11 で検索フィールドをクリックすると、検索インターフェイスが自動的に開きます。左側に最近のプログラムのリストが表示され、右側に Web コンテンツが表示されます。 Microsoft はそこにニュースやトレンドのコンテンツを表示します。今日のチェックでは、Bing の新しい DALL-E3 画像生成機能、「Chat Dragons with Bing」オファー、ドラゴンに関する詳細情報、Web セクションのトップ ニュース、ゲームの推奨事項、およびトレンド検索セクションを宣伝しています。項目のリスト全体は、コンピューター上でのアクティビティとは無関係です。一部のユーザーはニュースを表示できることに感謝しているかもしれませんが、これらはすべて他の場所で豊富に利用できます。直接的または間接的にそれをプロモーションまたは広告として分類する人もいます。 Microsoft はインターフェイスを使用して自社のコンテンツを宣伝しています。

iOS 17のスタンバイモードは充電中のiPhoneをホームハブに変える iOS 17のスタンバイモードは充電中のiPhoneをホームハブに変える Jun 06, 2023 am 08:20 AM

iOS 17 で Apple は、iPhone を水平方向に充電するために設計された新しいディスプレイ エクスペリエンスであるスタンバイ モードを導入します。この位置では、iPhone は一連の全画面ウィジェットを表示でき、便利なホームハブになります。 iOS 17 を実行している iPhone を充電器に水平に置くと、スタンバイ モードが自動的に有効になります。時間、天気、カレンダー、音楽コントロール、写真などを表示できます。左または右にスワイプして利用可能なスタンバイ オプションを選択し、長押しするか上下にスワイプしてカスタマイズできます。たとえば、アナログ ビュー、デジタル ビュー、バブル フォント、および時間の経過とともに背景色が時間に基づいて変化するデイライト ビューから選択できます。いくつかのオプションがあります

Windows 11 ユーザー ガイド: 広告ポップアップを無効にする方法 Windows 11 ユーザー ガイド: 広告ポップアップを無効にする方法 Sep 22, 2023 pm 07:21 PM

Microsoft の Windows 11 オペレーティング システムでは、通知システムを使用してコンピュータ上に提案がポップアップとして定期的に表示される場合があります。この提案システムは、もともと Windows 11 のワークフローを改善するためのヒントや提案をユーザーに提供するために設計されましたが、現在ではほぼ完全に Microsoft のサービスと製品を宣伝する広告システムに変わりました。提案ポップアップでは、Microsoft 365 サブスクリプションをユーザーに宣伝したり、Android スマートフォンをデバイスにリンクしたり、バックアップ ソリューションをセットアップしたりすることを提案する場合があります。これらのポップアップが煩わしい場合は、システムを調整して完全に無効にすることができます。次のガイドでは、Microsoft の Windows 11 オペレーティング システムを実行しているデバイスでポップアップを無効にするための推奨事項を示します。

デスクトップレイアウトがロックされる理由と解決策 デスクトップレイアウトがロックされる理由と解決策 Feb 19, 2024 pm 06:08 PM

デスクトップ レイアウトがロックされるとどうなりますか? コンピューターを使用しているときに、デスクトップ レイアウトがロックされる状況に遭遇することがあります。この問題は、デスクトップアイコンの位置を自由に調整したり、デスクトップの背景を変更したりすることができないことを意味します。では、デスクトップ レイアウトがロックされていると表示される場合、具体的には何が起こっているのでしょうか? 1. デスクトップ レイアウトとロック機能を理解する まず、デスクトップ レイアウトとデスクトップ ロックの 2 つの概念を理解する必要があります。デスクトップ レイアウトとは、ショートカット、フォルダー、ウィジェットなど、デスクトップ上のさまざまな要素の配置を指します。私たちは自由になれる

Windows 11 でライブキャプションを即座にオンにする方法 Windows 11 でライブキャプションを即座にオンにする方法 Jun 27, 2023 am 08:33 AM

Windows 11 でライブ字幕を即座にオンにする方法 1. キーボードの Ctrl+L を押します。 2. [同意する] をクリックします。 3. 「英語 (米国) で字幕を追加する準備ができました」 (優先言語に応じて) というポップアップが表示されます。 4. さらに、歯車ボタンをクリックすると冒涜的な言葉をフィルタリングできますか?好み?悪口のフィルタリング 関連記事 Windows Server でアクティベーション エラー コード 0xc004f069 を修正する方法 Windows のアクティベーション プロセスが突然切り替わり、このエラー コード 0xc004f069 を含むエラー メッセージが表示されることがあります。ライセンス認証プロセスはオンラインですが、Windows Server を実行している一部の古いシステムではこの問題が発生する可能性があります。これらの予備チェックに合格し、合格しなかった場合は、

リモートデスクトップ接続で相手のタスクバーを表示させる方法 リモートデスクトップ接続で相手のタスクバーを表示させる方法 Jan 03, 2024 pm 12:49 PM

リモートデスクトップ接続を利用しているユーザーは多いですが、利用中に相手のタスクバーが表示されないなどのちょっとしたトラブルに遭遇する人も多いと思いますが、実は相手の設定の問題である可能性が高いです。以下の解決策。リモートデスクトップ接続時に相手のタスクバーを表示する方法: 1. まず「設定」をクリックします。 2. 次に「個人用設定」を開きます。 3. 次に、左側の「タスクバー」を選択します。 4. 画像の「タスクバーを非表示にする」オプションをオフにします。

Linux で現在のディレクトリを確認するにはどうすればよいですか? Linux で現在のディレクトリを確認するにはどうすればよいですか? Feb 23, 2024 pm 05:54 PM

Linux システムでは、pwd コマンドを使用して現在のパスを表示できます。 pwd コマンドは PrintWorkingDirectory の略で、現在の作業ディレクトリのパスを表示するために使用されます。ターミナルに次のコマンドを入力して、現在のパスを表示します。 pwd このコマンドを実行すると、ターミナルには現在の作業ディレクトリのフル パス (/home/user/Documents など) が表示されます。さらに、他のオプションを使用して pwd コマンドの機能を拡張することもできます。たとえば、-P オプションを使用すると、次のように表示できます。

Wi-Fi パスワードの QR コードを表示するにはどうすればよいですか? WeChat で Wi-Fi パスワードを 3 秒以内にスキャンすることをお勧めします。 Wi-Fi パスワードの QR コードを表示するにはどうすればよいですか? WeChat で Wi-Fi パスワードを 3 秒以内にスキャンすることをお勧めします。 Feb 20, 2024 pm 01:42 PM

WIFI のパスワードは頻繁に入力する必要はないので忘れてしまうのが普通ですが、今日は自分の WIFI のパスワードを見つける最も簡単な方法を 3 秒で教えます。 WIFI パスワードを確認するには、WeChat を使用してスキャンしますが、この方法の前提条件は、WIFI に接続できる携帯電話が必要であることです。はい、チュートリアルを始めましょう: ステップ 1. 電話機を入力し、電話機の上部からプルダウンし、ステータス バーと WIFI アイコンを表示します。 ステップ 2. WIFI アイコンを長押しして、WLAN 設定に入ります。 WIFI アイコンを押します ステップ 3. 「接続済み」をクリックします 自宅の WIFI 名を入力し、パスワードの共有をクリックすると、QR コードがポップアップ表示されます; WIFI パスワードを共有するステップ 4、スクリーンショットを撮り、この QR コードを保存します; ステップ 5 、デスクトップ上の WeChat アイコンを長押しし、[スキャン] をクリックします。

See all articles