我的网站

帝国CMS搜索结果关键字高亮的修改方法

罗哥 帝国教程 2021-05-24 10:02:20 30 0

帝国CMS搜索结果关键字高亮。

本文关键词:帝国CMS高亮,搜索高亮,关键字高亮

很简单  修改e/search/result/index.php

找到

while($r=$empire->fetch($sql))

{

//替换列表变量

加上这句代码:

$listtext=str_replace($search_r[keyboard],"<font color='red'>$search_r[keyboard]</font>",$listtext);

 

一定要放在 下面所示的位置,否则关键字不会变 高亮的!

实例位置:

while($r=$empire->fetch($sql))
{
    //替换列表变量
  $repvar=ReplaceListVars($no,$listvar,$subnews,$subtitle,$formatdate,$url,$have_class,$r,$ret_r,$docode);
    $listtext=str_replace("<!--list.var".$changerow."-->",$repvar,$listtext);
    $listtext=str_replace($search_r[keyboard],"<font color='red'>$search_r[keyboard]</font>",$listtext);//关键字加红(高亮)
    $changerow+=1;

这里的关键字是红色高亮,<font color='red'>里面的颜色修改成需要的就行了!

注意:搜索页面模板调用不要使用title alt等标签来调用标题或者简介内容等!!!

多个关键词为空格分开的课使用以下函数解决高亮:

// 关键字都加高亮
function keyboardHighlight($keyboard, $listtext){
                $arr = explode(' ', $keyboard);
                $newArr = array_map(function ($item){
                        return '<em>' . $item . '</em>';
                }, $arr);
                return str_replace($arr, $newArr, $listtext);
}

搜索

$changerow+=1;

在这一句的上面加入:

$listtext = keyboardHighlight($search_r['keyboard'], $listtext); // 搜索关键词高亮