| 
 | 
 
 
            有些时候我们在显示一篇文章的时候,可能需要把某些关键字进行套红,高亮显示,以便我们能快速的查找和定位这些关键字,下面让我们看看具体实现的代码。 
/** 
  * 关键字套红方法 
  *  
  * @access public 
  * @param array $options 参数数组 
  *   $info_arr  array  内容 
  *   $search_arr array  关键词数组  
  * @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", " 
{$search_str} 
", $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 ); 
 |   
 
 
 
 |