之前写过
帝国cms7.5系统的
搜索结果页面标题中的关键词
加红的方法,不过之前的方法不太适合帝国cms8.0,其实主要是php8.0不兼容旧的一些写法,如果不想修改代码还能用旧方法,可以试着把php版本降低。本文讲解一下怎样给帝国8.0(兼容php8.0)搜索结果标题中关键词加红的方法。
方法一:在搜索列表模板列表内容模板(list.var) (*)加上以下代码,注意一定要在"使用程序代码"前打钩
$searchid = $_GET['searchid'];
$search=$empire->fetch1("select keyboard from {$dbtbpre}enewssearch where searchid='$searchid' limit 1");
$keyboard = $search['keyboard'];
$title=str_replace($keyboard,"<font color='red'>$keyboard</font>",$r['title']);
$smalltext=str_replace($keyboard,"<font color='red'>$keyboard</font>",$r['smalltext']);
$listtemp='<li>这是标题:<a href="[!--titleurl--]" target="_blank">'.$title.'</a><p>这是简介:'.$smalltext.'</p></li>';
方法二:修改e/search/result/index.php
查找
//替换列表变量
$repvar=ReplaceListVars($no,$listvar,$subnews,$subtitle,$formatdate,$url,$have_class,$r,$ret_r,$docode);
在上面一行添加如下代码:
$r['title']=str_replace($search_r['keyboard'],"<font color='red'>{$search_r['keyboard']}</font>",$r['title']); //这里新增,www.lanniaofei.com
保存,即可实现关键字描红的高亮显示效果!
这里推荐使用方法一,方法一不需要修改系统文件,并且修改细节也更方便。