关键词高亮显示一般指搜索列表页上的关键词高亮显示,并不延申到内容页,这应该是个缺憾,对读者不甚友好。最近,尝试做个改善,用php方法实现动态内容页里的关键词高亮显示(如手机版内容页)。具体方法: 1、在搜索主程序的列表页里把关键词通过链接参数传递到内容页,如"&keyboard=".preg_replace('/\s+/',' ',trim($_GET['keyboard'])) 2、动态内容页直接加几行简单代码(引号须改为英文的!)即可: //关键词高亮显示开始 $search=explode(' ',urldecode($_GET['keyboard'])); $replacement=array_map(function($v) { return "<font color=red>".$v."</font>"; //在关键词原始键值前后添加高亮样式 },array_values($search),$search); $result=str_replace($search,$replacement,$r[newstext]); //数组批量替换 //关键词高亮显示结束 ?> <p><?=stripSlashes($result)?></p> //动态页正文,含高亮显示的关键词 增加关键词传参时也可一并捎带上搜索列表页对应页码,实现内容页可以准确返回列表页的功能。
|