ホームページ >php教程 >php手册 >PHP で複数のキーワードのハイライトを実装する方法を参照してください。

PHP で複数のキーワードのハイライトを実装する方法を参照してください。

WBOY
WBOYオリジナル
2016-06-21 08:51:551109ブラウズ

  项目结构:

 

  开始搜索: 这里搜索关键字("大""这")

  搜索结果: 高亮显示

  项目所需数据库结构:

  实现代码:

  conn.php

 

  

  $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");

  mysql_select_db("form", $conn);

  mysql_query("set names 'gbk'");

  ?>

 

  searchAndDisplayWithColor.php

include 'conn.php';
?> 

 
      
      
          
      
      
 
关键字: 
        
 
  
  cellspacing="1" bgcolor="#add3ef"> 
     //关键字不为空的时候才执行相关搜索
if($_GET['keyWord']){
//用空格符把关键字分割开
$key=explode(' ', $_GET[keyWord]);
$sql="select * from message where title like '$key[0]' or title like '$key[1]' or content like '$key[0]' or content like '%$key[1]%'";
$query=mysql_query($sql);
while ($row=mysql_fetch_array($query)){
//替换关键字,并且把关键字高亮显示
$row[title]=preg_replace("/$key[0]/i", "$key[0]", $row[title]); 
         $row[title]=preg_replace("/$key[0]/i", "$key[1]", $row[title]); 
         $row[content]=preg_replace("/$key[0]/i", "$key[0]", $row[content]); 
         $row[content]=preg_replace("/$key[1]/i", "$key[1]", $row[content]); 
         ?> 
  
      
        
                                                                                                                                                            
                                                                                           
公開日:
                                                                                           
}
?>





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

// キーワードを区切るにはスペースを使用します

$key=explode(' ', $_GET[keyWord]);

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

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