时间:2021-07-01 10:21:17 帮助过:28人阅读
有些时候我们在显示一篇文章的时候,可能需要把某些关键字进行套红,高亮显示,以便我们能快速的查找和定位这些关键字,下面让我们看看具体实现的代码。
/** * 关键字套红方法 * * @access public * @param array $options 参数数组 * <li> $info_arr array 内容</li> * <li> $search_arr array 关键词数组 </li> * @return int or array */ function set_arr_keyword_red($info_arr, $search_arr) { foreach ($search_arr as $search_str) { foreach ($info_arr as $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", "<font color='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 );