2012-01-23 2 views
2

Как выделить ключевые слова в результатах поиска?Выделение ключевых слов в результаты поиска

Вот пример моего кода:

<?php 
$mysql = new mysqli($host,$username,$password,$database); 

$keyword = 'racing'; 
$query = $mysql->query("SELECT * FROM products WHERE title LIKE '%$keyword%' OR description LIKE '%$keyword%'"); 

while($result = $query->fetch_object()) 
{ 
    echo '<p>'; 
    echo $result->title.'<br />'; 
    echo substr($result->description,'0','256'); 
    echo '</p>'; 
} 
?> 

В этом коде ключевое слово racing, поэтому я хотел бы все racing в результатах поиска подсвечиваются.

+0

Возможный дубликат [Выделите ключевые слова в абзаце] (http://stackoverflow.com/questions/4081372/highlight-keywords-in-a-paragraph) – Gumbo

ответ

5

Просто замените свое ключевое слово на стиль <span>, содержащий ключевое слово.

$result->title = preg_replace("/($keyword)/i",'<span class="highlight">$1</span>', $result->title); 

С $keyword = "racing" и текстом "Вы знаете гонки? Это потрясающе.", $result->title будет

You know <span class="highlight">racing</span>? It's awesome.

Тогда вы просто стиль класс выделения с помощью CSS, что-то вроде

.highlight { background-color: #ffa; } 

.....