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的开发框架的现状和展望
Mar 16 PHP
php 地区分类排序算法
Jul 01 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
分享10段PHP常用代码
Nov 11 PHP
3种php生成唯一id的方法
Nov 23 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
php+MySql实现登录系统与输出浏览者信息功能
Jul 01 PHP
PHP处理CSV表格文件的常用操作方法总结
Jul 01 PHP
PHP的mysqli_set_charset()函数讲解
Jan 23 PHP
PHP _construct()函数讲解
Feb 03 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 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操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
PHP 5.3.0 安装分析心得
2009/08/07 PHP
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
Ajax::prototype 源码解读
2007/01/22 Javascript
基于JQuery框架的AJAX实例代码
2009/11/03 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
Python入门篇之条件、循环
2014/10/17 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
企业出纳岗位职责
2014/03/12 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
大学生实习证明范本
2014/09/19 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
如何撰写创业策划书
2019/06/27 职场文书
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏
MongoDB支持的数据类型
2022/04/11 MongoDB