2016-08-31 22 views
0

こんにちは皆私の問題は90%がこのようです:How to make search results "clickable"検索結果の検索語を太字にする方法は?

(お読みください)しかし、唯一の違いは、最良の解決策では、str_replaceは大文字と小文字が区別され、str_ireplaceに置き換えようとしましたが、問題は同じ時間に太字になりますが小文字になります。手伝ってくれてありがとう!

コード:

if(isset($_POST['tosearchfor'])) 
     { 
      $query = $db->query('SELECT * FROM searchfor WHERE title LIKE \'%'.$_POST['tosearchfor'].'%\''); 

        for($i=0; $i<20; $i++) 
        { 
         if($result = $query->fetch()) 
         { 
          $result = str_ireplace($_POST['tosearchfor'], '<b>'.$_POST['tosearchfor'].'</b>', $result); 
          echo '<div class="result"> 
          <a class="title" href="#">'.$result['title'].'</a> 
          <span class="link"> 
           <span style="font-size:15px;position:relative;top:0.8px;padding-right:2px;">&#8227;</span> 
           https://www.qsoft.com/'.$result['link'].' 
          </span> 
          <span class="details">'.$result['details'].'</span> 
          </div>'; 
         } 
         else 
         { 
          if($i==0) 
          { 
           echo 'Sorry, no resluts found for : <strong>'.$_POST['tosearchfor'].'</strong>'; 
          } 
         } 
        } 
     } 
+0

あなたはあなたのコードを投稿してくださいことはできますか? –

+0

@Hatchet、実際にあなたが正しいと思います。最後にmysqlを使用してから1年が経過した後、コードでそれを行うのを手伝ってもらえますか?私は正規表現で多くのことを忘れました。ありがとう! – QApps

+0

'$ _POST ['を検索する']'を太字にしたいとしますか? – MoolsBytheway

答えて

1

あなたの問題は、この行にある:

$result = str_ireplace($_POST['tosearchfor'], '<b>'.$_POST['tosearchfor'].'</b>', $result); 

あなたは大文字と小文字を区別せずに(例: "りんご")$_POST['tosearchfor']のすべてのインスタンスを置き換えている'<b>'.$_POST['tosearchfor'].'</b>'で。これはappleから<b>apple</b>,Appleから<b>apple</b>およびsnappleからsn<b>apple</b>に変更されます。あなたの代わりに欲しい

は大文字と小文字を区別せずし<b>...</b>囲まどんな試合でappleを交換し、preg_replaceは、そのオプションを提供しますです。

$result = preg_replace("/\b(" . $_POST['tosearchfor'] . ")\b/i", "<b>$1</b>", $result); 

snapple又は​​と一致しないように、このパターンはまた、ワード境界文字(\b)を備え、それがために、大文字と小文字を区別しないフラグ(/i)のappleApple、及びAPPLEに一致します。次に、すべての一致をに置き換えます。これは、<b></b>で囲まれた最初の括弧のセットに一致するもののコードです。

は、ここでの違いを参照してください:https://ideone.com/PrdQOS

関連する問題