Выделение ключевого слова в результатах поиска - PullRequest
2 голосов
/ 23 января 2012

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

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

<?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 в результатах поиска были выделены.

1 Ответ

5 голосов
/ 23 января 2012

Просто замените ваше ключевое слово на стилизованное <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; }  

.....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...