PHP给文字内容中的关键字进行套红处理

5年以前  |  阅读数:509 次  |  编程语言:PHP 

有些时候我们在显示一篇文章的时候,可能需要把某些关键字进行套红,高亮显示,以便我们能快速的查找和定位这些关键字,下面让我们看看具体实现的代码。


    /**
      * 关键字套红方法
      * 
      * @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 );
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例