PHP给文字内容中的关键字进行套红处理
有些时候我们在显示一篇文章的时候,可能需要把某些关键字进行套红,高亮显示,以便我们能快速的查找和定位这些关键字,下面让我们看看具体实现的代码。
/** *关键字套红方法 * *@accesspublic *@paramarray$options参数数组 *<li>$info_arrarray内容</li> *<li>$search_arrarray关键词数组</li> *@returnintorarray */ functionset_arr_keyword_red($info_arr,$search_arr) { foreach($search_arras$search_str) { foreach($info_arras$key=>$info) { if(in_array($key,array('item_title','keywords','photo_title','photo_site','content',))) { $info=strip_tags($info); $info=str_replace('','',$info); $q_str_pos=stripos($info,$search_str); if(false!==$q_str_pos) { $info=csubstr($info,$q_str_pos+150); $temp=csubstr($info,$q_str_pos-150); $info=substr($info,strlen($temp),300); $info=preg_replace("/{$search_str}/i","<fontcolor='red'>{$search_str}</font>",$info); if($info_arr['match_key']=='') $info_arr['match_key']=$key; } else { $info=csubstr($info,300); } } $info_arr[$key]=$info; } } return$info_arr; } $str='woloveu小君'; $info_arr=array('photo_title'=>'womejiojd我们都围殴防静低屁啊小君鸡冻啊泡脚盆大'); $search_arr=array('小君'); $ret=set_arr_keyword_red($info_arr,$search_arr); dump($ret);