ホームページ >バックエンド開発 >PHPチュートリアル >PHP は複数のキーワードの検索を実装し、プログラム コードを強調表示します_PHP チュートリアル

PHP は複数のキーワードの検索を実装し、プログラム コードを強調表示します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 16:55:59985ブラウズ

キーワードの強調表示は、PHP での実装が比較的簡単です。単語の分割に抽出されたキーワードを取得して使用し、str_replace() 関数を使用して置換を実装するだけです。原理は比較的単純です。

プロジェクト構造:

検索を開始: ここでキーワードを検索します (「大きい」、「これ」)

検索を開始: ここでキーワードを検索します (「大きい」、「これ」)

検索結果: ハイライト表示

プロジェクトに必要なデータベース構造:

データベース接続ファイル

searchAndDisplayWithColor.php ファイルに色を追加します

コードは次のとおりです コードをコピー
$conn = @ mysql_connect("localhost", "root", "") または die("データベース リンク エラー");
mysql_select_db("フォーム", $conn);
mysql_query("名前「gbk」を設定します"); ?>






<表幅=500 border="0" align="center" cellpadding="5"
セルスペース="1" bgcolor="#add3ef">
//関連検索はキーワードが空でない場合にのみ実行されます
If($_GET['keyWord']){
//キーワードを区切るにはスペースを使用します
$key=explode(' ', $_GET[keyWord]);
$sql="タイトルが '$key[0]' またはタイトルが '$key[1]' またはコンテンツが '$key[0]' またはコンテンツが '%$key[1]%' であるメッセージから * を選択";
$query=mysql_query($sql);
While ($row=mysql_fetch_array($query)){
//キーワードを置換し、キーワードを強調表示します
$row[title]=preg_replace("/$key[0]/i", "$key[0]", $row [タイトル]);
$row[title]=preg_replace("/$key[0]/i", "$key[1]", $row [タイトル]);
$row[content]=preg_replace("/$key[0]/i", "$key[0]", $row [内容]);
$row[content]=preg_replace("/$key[1]/i", "$key[1]", $row [内容]);
?>




                                                                                                                                                           

                                                                                       
公開日:

                                                                                       
}
?>




注: この小さなプログラムでは、同時に 2 つのキーワードしか検索できず、「big」のように 1 つのキーワードのみを検索する場合、キーワードはスペース " " で区切られるという欠点があります。 表示すると文字化けが発生します...^|_|^。これは次のコードの結果です:

キーワードを区切るにはスペースを使用してください

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

'conn.php' を含めます;
?>

<テーブル幅=500 align="center">
<フォームアクション=""メソッド="get">

キーワード:
タイトル: ユーザー:
編集  |  ; href="delete.php?id=">削除

                                                                                       
コードは次のとおりですコードをコピー$key=explode(' ', $_GET[keyWord]);

改善したい場合は、後でここで判断する必要があります。

まとめ、

上記のキーワードの強調表示は、ユーザーがキーワードを強調表示するために str_replaced を実行しただけです。さらに改善したい場合は、dedecms の単語分割システムを使用して単語を分割することができます。より良い。 。

dedecms単語分割プログラムの実装方法を参考にしてください

PHPで書かれた中国語単語分割関数

http://www.bKjia.c0m/phper/24/c8b9ff7300e56c042014a655b0bd6e34.htm

中国語単語分割用の PHP コード

http://www.bKjia.c0m/phper/php-gj/39302.htm

phpで作られた簡単な中国語単語分割コード

http://www.bKjia.c0m/phper/php-gj/38506.htm

http://www.bkjia.com/PHPjc/631628.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631628.html技術記事キーワードの強調表示は、php での実装が比較的簡単です。単語の分割に抽出されたキーワードを取得して使用し、str_replace() 関数を使用して置換を実装するだけです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。