如何在搜索结果中突出显示关键字?
下面是我的代码示例:
<?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
。
只需将关键字替换为包含该关键字的样式<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; }