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默认安装产生系统漏洞
Oct 09 PHP
php self,$this,const,static,-&amp;gt;的使用
Oct 22 PHP
php 读取shell管道传输过来的内容
Mar 01 PHP
PHP MemCached 高级缓存应用代码
Aug 05 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
php获取网页请求状态程序示例
Jun 17 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
php微信支付之公众号支付功能
May 30 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 PHP
php获取微信openid方法总结
Oct 10 PHP
Yii框架安装简明教程
May 15 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计算给定时间之前的函数用法实例
2015/04/03 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
JavaScript的目的分析
2007/01/05 Javascript
一个加载js文件的小脚本
2007/06/28 Javascript
Javascript 对象的解释
2008/11/24 Javascript
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
JS前端加密算法示例
2016/12/22 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
python Kmeans算法原理深入解析
2019/08/23 Python
python中如何进行连乘计算
2020/05/28 Python
python删除指定列或多列单个或多个内容实例
2020/06/28 Python
python文件路径操作方法总结
2020/12/21 Python
教师的实习鉴定
2013/12/15 职场文书
六年级学生期末评语
2014/12/26 职场文书
建议书范文
2015/02/05 职场文书
活动主持人开场白
2015/05/28 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
vue.js 使用原生js实现轮播图
2022/04/26 Vue.js