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


Posted in PHP onApril 12, 2016

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

/**
  * 关键字套红方法
  * 
  * @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 相关文章推荐
PHP开发框架总结收藏
Apr 24 PHP
PHP正确解析UTF-8字符串技巧应用
Nov 07 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
9个经典的PHP代码片段分享
Dec 18 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
深入浅析PHP无限极分类的案例教程
May 09 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
Aug 28 PHP
php array_keys 返回数组的键名
Oct 25 PHP
php基于session锁防止阻塞请求的方法分析
Aug 07 PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
Apr 11 #PHP
PHP实现的浏览器检查类
Apr 11 #PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
Apr 11 #PHP
PHP模板引擎Smarty内建函数详解
Apr 11 #PHP
PHP模板引擎Smarty内置变量调解器用法详解
Apr 11 #PHP
PHP模板引擎Smarty自定义变量调解器用法
Apr 11 #PHP
PHP中如何防止外部恶意提交调用ajax接口
Apr 11 #PHP
You might like
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
TypeScript入门-接口
2017/03/30 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
python中元类用法实例
2014/10/10 Python
Python实现简单的可逆加密程序实例
2015/03/05 Python
举例详解Python中的split()函数的使用方法
2015/04/07 Python
Python中实现三目运算的方法
2015/06/21 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
Python scrapy增量爬取实例及实现过程解析
2019/12/24 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
自荐信怎么写好
2013/11/11 职场文书
学习型党组织心得体会
2014/09/12 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
医院见习报告范文
2014/11/03 职场文书
黄埔军校观后感
2015/06/10 职场文书
行政处罚事先告知书
2015/07/01 职场文书
MySql数据库 查询时间序列间隔
2022/05/11 MySQL