php关键词搜索结果标注红色

文章描述:

在搜索文章或者内容后,需要把结果里面带有关键词的标注成红色,这样好给用户一目了然的展示,那么改怎么做呢?

第一步:制作搜索表单和按钮,在输入关键词后提交表单内容,代码如下:

<form action="" method="post">
请输入关键字:<input type="text" name="keyword" value="{if isset($keyword)}{$keyword}{/if}">
<input type="submit" value="提交" />
</form>

第二步:获取搜索关键词,然后进行查询数据库,把查询的内容分配的指定模板,代码如下:

$keyword = $_POST['keyword'];
 
$books = $db->get_results("SELECT * FROM ".$db_pre->table('book')." WHERE title LIKE '%$keyword%'",ARRAY_A);
$db->debug();
 
foreach($books as $key=>$row){
$books[$key]['title'] = str_ireplace($keyword, "<font color='#f00'>$keyword</font>",$row['title']);
}
 
$smarty->assign('keyword',$keyword);
$smarty->assign("books",$books);
$smarty->display('index.html');

str_ireplace

str_ireplace() 函数替换字符串中的一些字符(不区分大小写)。

在这里使用PHP内置函数把关键词内容使用标签包含替换成红色

第三步:在模板循环分配过来的内容

<ul>
{foreach from=$books item="v"}
<li>{$v.title}</li>
{/foreach}
</ul>

 

发布时间:2021/08/06

发表评论