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);