ホームページ > バックエンド開発 > PHPチュートリアル > PHP はサイト検索を実行し、キーワードを強調表示します_PHP チュートリアル

PHP はサイト検索を実行し、キーワードを強調表示します_PHP チュートリアル

WBOY
リリース: 2016-07-13 16:55:44
オリジナル
866 人が閲覧しました

この記事では、サイト検索とキーワードのハイライトのための php についてのより実践的な記事を紹介します。これは、多くの友人が preg_replace を直接使用してこれを操作していますが、str_replace を使用した方が速いと思います。その理由については、2 つの機能の違いをご自身で確認してください。

PHP を使用してサイト内検索を実行し、キーワードをハイライト表示する方法は?

思考分析:

SQL ステートメントに含まれる %$info% が実行のために DBMS に渡されると、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); のように分割できます。//このメソッドはキーワードをスペースで区切って分割し、分割結果をクエリします。同様に、正規表現関数を使用してキーワードを強調表示することができます

コードは次のとおりです コードをコピー

require_once 'sqlTools.class.php';//カプセル化クラス、実行可能DQL、DMLステートメント

$info=$_POST['info'];

$sql="user_500 から名前、パスワード、電子メールを選択します。名前は '%$info%'、パスワードは '%$info%'、または電子メールは '%$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']."
";

?>

コードは次のとおりですコードをコピー
sqlTools.class.phpのソースコード:

クラス SqlTools{

プライベート $host="localhost";

プライベート $dbname="test";

プライベート $dbuser="root";

プライベート $dbpwd="";

プライベート $conn;

パブリック関数 __construct(){

$this->conn=mysql_connect($this->host,$this->dbuser,$this->dbpwd);

️ if(!$this->conn){

接続 DIE ("データベースへの接続に失敗しました" .sql_error ());

mysql_select_db($this->dbname,$this->conn) または die("データベースが見つかりません".mysql_error());

mysql_query("set names utf8");

}

パブリック関数execute_dml($sql){

$bool=mysql_query($sql);

_

_

} それ以外の場合 {

️ ‌ ️

} else {

}

パブリック関数execute_dql($sql){

$res=mysql_query($sql);

️ $res;

を返す

}

パブリック関数 close_conn(){

mysql_close($this->conn);

}

}

?>

http://www.bkjia.com/PHPjc/631657.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631657.html技術記事この記事では、サイト検索とキーワードのハイライトのための php に関するより実践的な記事を紹介します。多くの友人が preg_replace を直接使用してこれを操作しています。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート