Type something and hit enter

By On
advertise here

Menyorot kata kunci dalam hasil pencarian akan membantu pengguna mengidentifikasi hasil yang sesuai dengan mudah. Dalam tutorial sebelumnya, kami telah melihat pencarian lanjutan dalam PHP . Dalam contoh ini, kami menyoroti beberapa kata kunci dalam hasil pencarian.
Kami sedang mencari judul dan deskripsi basis data untuk memeriksa apakah kata kunci telah terjadi. Jika kecocokan ditemukan kami menyorot kata kunci tersebut dengan menggunakan fungsi str_ireplace () untuk mengganti string yang tidak peka huruf besar / kecil.
highlight-php-search-result

Formulir Pencarian HTML

Kami memiliki masukan pencarian untuk memasukkan kata kunci. Kami mencari database untuk memeriksa apakah setidaknya salah satu dari kata kunci pencarian yang dimasukkan ditemukan.
  <form name = "frmSearch" method = "pos" action = "">
  <div class = "search-box">
   <label class = "search-label"> Masukkan Kata Kunci Pencarian: </ label>
   <div>
    <input type = "text" name = "keyword" class = "demoInputBox" value = "<? php echo $ keyword;?>" />
   </ div>    
   <div>
    <input type = "submit" name = "go" class = "btnSearch" value = "Cari">
   </ div>
  </ div>
 </ form> 

Mencari dan Menyoroti Kata Kunci yang Cocok

Kode PHP ini untuk mencari kata kunci dalam judul atau deskripsi. Jika ditemukan kecocokan, kita memanggil metode highlightKeywords () untuk menyorot kata kunci dalam huruf tebal dengan menambahkan HTML di sekitar kata kunci. Kuncinya adalah,
  <? php
  $ conn = mysqli_connect ("localhost", "root", "", "blog_samples"); 
  $ keyword = ""; 
  $ queryCondition = "";
  if (! empty ($ _ POST ["keyword"])) {
   $ keyword = $ _POST ["kata kunci"];
   $ wordsAry = meledak ("", kata kunci $);
   $ wordsCount = count ($ wordsAry);
   $ queryCondition = "WHERE";
   untuk ($ i = 0; $ i <$ wordsCount; $ i ++) {
    $ queryCondition. = "title LIKE '%".  $ wordsAry [$ i].  "% 'ATAU deskripsi LIKE'%".  $ wordsAry [$ i].  "% '";
    if ($ i! = $ wordsCount-1) {
     $ queryCondition. = "ATAU";
    }
   }
  }
  $ orderby = "ORDER BY id desc"; 
  $ sql = "SELECT * FROM links".  $ queryCondition;
  $ result = mysqli_query ($ conn, $ sql); 
 ?>
 <? php 
  function highlightKeywords ($ text, $ keyword) {
   $ wordsAry = meledak ("", kata kunci $);
   $ wordsCount = count ($ wordsAry);
  
   untuk ($ i = 0; $ i <$ wordsCount; $ i ++) {
    $ highlighted_text = "<span style = 'font-weight: bold;'> $ wordsAry [$ i] </ span>";
    $ text = str_ireplace ($ wordsAry [$ i], $ highlighted_text, $ text);
   }

   kembali $ teks;
  }
 ?>


Tutorial kode PHP ini diterbitkan pada 31 Mei 2016.






Click to comment