php替换字符串中间字符为省略号的方法


Posted in PHP onMay 04, 2015

本文实例讲述了php替换字符串中间字符为省略号的方法。分享给大家供大家参考。具体分析如下:

对于一个长字符串,如果你只希望用户看到头尾的部分内容,隐藏掉中间内容,你可以使用这个php函数,他可以指定要隐藏掉的中间字符串的数量

/**
 * Reduce a string by the middle, keeps whole words together
 *
 * @param string $string
 * @param int $max (default 50)
 * @param string $replacement (default [...])
 * @return string
 * @author david at ethinkn dot com
 * @author loic at xhtml dot ne
 * @author arne dot hartherz at gmx dot net
 */
function strMiddleReduceWordSensitive($string,$max=50,$rep='[...]'){
  $strlen = strlen($string);
  if ($strlen <= $max)
    return $string;
  $lengthtokeep = $max - strlen($rep);
  $start = 0;
  $end = 0;
  if (($lengthtokeep % 2) == 0) {
    $start = $lengthtokeep / 2;
    $end = $start;
  } else {
    $start = intval($lengthtokeep / 2);
    $end = $start + 1;
  }
  $i = $start;
  $tmp_string = $string;
  while ($i < $strlen) {
    if (isset($tmp_string[$i]) and $tmp_string[$i] == ' ') {
      $tmp_string = substr($tmp_string, 0, $i) . $rep;
      $return = $tmp_string;
    }
    $i++;
  }
  $i = $end;
  $tmp_string = strrev ($string);
  while ($i < $strlen) {
    if (isset($tmp_string[$i]) and $tmp_string[$i] == ' ') {
      $tmp_string = substr($tmp_string, 0, $i);
      $return .= strrev ($tmp_string);
    }
    $i++;
  }
  return $return;
  return substr($string, 0, $start).$rep.substr($string, - $end);
}

演示范例:

// example:
$text = 'This is a very long test sentence, bla foo bar nothing';
print strMiddleReduceWordSensitive ($text, 30) . "\n";
// Returns: This is a very[...]foo bar nothing (~ 30 chrs)
print strMiddleReduceWordSensitive ($text, 30, '...') . "\n";
// Returns: This is a very...foo bar nothing (~ 30 chrs)

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
我用php+mysql写的留言本
Oct 09 PHP
用PHP动态生成虚拟现实VRML网页
Oct 09 PHP
PHP,ASP.JAVA,JAVA代码格式化工具整理
Jun 15 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
Jan 27 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 PHP
PHP基本语法总结
Sep 06 PHP
PHP的几个常用加密函数
Feb 03 PHP
Yii2实现ajax上传图片插件用法
Apr 28 PHP
PHP微信公众号自动发送红包API
Jun 01 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
Yii框架页面渲染操作实例详解
Jul 19 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 PHP
php中JSON的使用方法
Apr 30 #PHP
PHP使用CURL实现多线程抓取网页
Apr 30 #PHP
PHP遍历数组的方法汇总
Apr 30 #PHP
php实现根据IP地址获取其所在省市的方法
Apr 30 #PHP
PHP实现根据银行卡号判断银行
Apr 29 #PHP
php简单实现屏蔽指定ip段用户的访问
Apr 29 #PHP
php实现中文字符截取防乱码方法汇总
Apr 29 #PHP
You might like
基于Zend的Captcha机制的应用
2013/05/02 PHP
PHP之短标签开启设置
2013/06/17 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
Node.js API详解之 repl模块用法实例分析
2020/05/25 Javascript
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
2019/08/02 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
delegate与普通函数的区别
2014/01/22 面试题
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
民主生活会发言材料
2014/10/20 职场文书
初中教师个人工作总结
2015/02/10 职场文书
市场部岗位职责
2015/02/12 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL