ホームページ バックエンド開発 PHPチュートリアル php站内搜索并高亮显示关键字的实现代码_PHP

php站内搜索并高亮显示关键字的实现代码_PHP

Jun 01, 2016 pm 12:14 PM
キーワード サイト検索 ハイライト

复制代码 代码如下:
require_once 'sqlTools.class.php';//封装类,可执行dql、dml语句
$info=$_POST['info'];
$sql="select name,password,email from user_500 where name like '%$info%' or password like '%$info%' or email like '%$info%'";
$sqlTools=new SqlTools();
$res=$sqlTools->execute_dql($sql);
while ($row=mysql_fetch_assoc($res)){
$row['name']=preg_replace("/($info)/i","\\1",$row['name']);
$row['password']=preg_replace("/($info)/i","\\1",$row['password']);
$row['email']=preg_replace("/($info)/i","\\1",$row['email']);
echo $row['name']."-->".$row['password']."-->".$row['email']."
";
}
?>

思路分析:
将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的源代码:
复制代码 代码如下:
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);
}
}
?>

原创文章:WEB开发_小飞
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JavaScript を使用してリアルタイム検索を実装し、結果を強調表示する方法は? JavaScript を使用してリアルタイム検索を実装し、結果を強調表示する方法は? Oct 19, 2023 am 08:49 AM

JavaScript を使用してリアルタイム検索を実装し、結果を強調表示する方法は?インターネットとビッグデータの急速な発展に伴い、検索機能は多くの Web サイトやアプリケーションに不可欠な部分になりました。従来の検索機能では、ユーザーがキーワードを入力して検索ボタンをクリックし、ページをリロードして検索結果を表示するという方法が多かったです。ただし、この方法のユーザー エクスペリエンスは比較的悪く、ユーザーは結果を確認するためにページがリロードされるまで待つ必要があります。ユーザーエクスペリエンスを向上させるために、リアルタイム検索機能が登場しました。リアルタイム検索

C 言語における static キーワードの役割と使用法の詳細な分析 C 言語における static キーワードの役割と使用法の詳細な分析 Feb 20, 2024 pm 04:30 PM

C 言語における static キーワードの役割と使用法の詳細な分析 C 言語では、static は関数、変数、データ型の定義に使用できる非常に重要なキーワードです。 static キーワードを使用すると、オブジェクトのリンク属性、スコープ、ライフサイクルが変更される可能性があるため、C 言語における static キーワードの役割と使用法を詳しく分析してみましょう。静的変数と関数: 関数内で static キーワードを使用して定義された変数は静的変数と呼ばれ、グローバルなライフサイクルを持ちます。

PHP における var キーワードの役割と例 PHP における var キーワードの役割と例 Jun 28, 2023 pm 08:58 PM

PHP における var キーワードの役割と例 PHP では、var キーワードを使用して変数を宣言します。以前の PHP バージョンでは、var キーワードの使用がメンバー変数を宣言する慣用的な方法でしたが、その使用は推奨されなくなりました。ただし、場合によっては、引き続き var キーワードが使用されます。 var キーワードは主にローカル変数を宣言し、その変数をローカル スコープとして自動的にマークするために使用されます。これは、変数が現在のコード ブロック内でのみ表示され、他の関数やコード ブロックからはアクセスできないことを意味します。変数を使用する

go は C 言語のキーワードですか?詳細な分析 go は C 言語のキーワードですか?詳細な分析 Mar 16, 2024 am 10:30 AM

タイトル: go は C 言語のキーワードですか?詳細な分析 C 言語では、「go」はキーワードではありません。 C 言語のキーワードは C 標準で指定されており、特定の文法構造または関数を表すために使用されます。コンパイラでは特別な意味を持ち、識別子や変数名として使用することはできません。たとえば、キーワード「int」は整数データ型を表し、「if」は条件ステートメントを表します。 「go」が C 言語のキーワードであるかどうかを確認したい場合は、それをテストするための簡単なプログラムを作成できます。以下に例を示します: #inc

C言語にはキーワードがいくつありますか? C言語にはキーワードがいくつありますか? Nov 22, 2022 pm 03:39 PM

C言語には32個のキーワードがあり、キーワードの機能によりデータ型キーワード、制御文キーワード、記憶型キーワード、その他のキーワードの4つに分類されます。 char、double、float、int などを含む 12 個のデータ型キーワードがあり、for、break、if、else、do などを含む 12 個の制御ステートメント キーワードがあり、auto、 static 、 extern など、他に const、sizeof などを含む 4 つのキーワードがあります。

PHP における extends キーワードの役割と使用法の詳細な説明 PHP における extends キーワードの役割と使用法の詳細な説明 Jun 28, 2023 pm 08:04 PM

PHP における extends キーワードの役割と使用法の詳細な説明 PHP プログラミングにおいて、extends はクラスの継承を実装するために使用される非常に重要なキーワードです。 extends キーワードを使用すると、1 つ以上の既存のクラスのプロパティとメソッドを継承できる新しいクラスを作成できます。継承はオブジェクト指向プログラミングにおける重要な概念であり、コードの再利用と拡張をより便利かつ柔軟にします。この記事では、extendsキーワードの機能と使い方を詳しく紹介します。伸びる

Go 言語キーワードの完全なリスト Go 言語キーワードの完全なリスト Apr 07, 2024 pm 02:15 PM

Go 言語のキーワードは次のとおりです。 基本キーワード: const、func、type、var、if、else、for、return データ型関連キーワード: bool、string、int、float64、interface{}、map、slice その他のキーワード:break、続行、延期、移動、選択、範囲

go 言語のキーワードは while ですか? go 言語のキーワードは while ですか? Jun 04, 2021 pm 05:01 PM

Go 言語では、while はキーワードではありません。for ステートメントと Break を使用すると、「for {sum++ if sum>10{break}else{...}}」など、while ループの効果を得ることができます。 go 言語には、break、default、func、select、case、defer、go、map、else、goto、for、if、var など 25 のキーワードがあります。

See all articles