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和ACCESS写聊天室(九)
Oct 09 PHP
php的正则处理函数总结分析
Jun 20 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
php表单习惯用的正则表达式
Oct 11 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
PHP+Ajax简单get验证操作示例
Mar 02 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
PHP系统命令函数使用分析
2013/07/05 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
javascript如何创建对象
2016/08/29 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
Python实现抓取网页并且解析的实例
2014/09/20 Python
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
详解python 内存优化
2020/08/17 Python
解决img标签上下出现间隙的方法
2016/12/14 HTML / CSS
新学期决心书
2014/03/11 职场文书
师德师风整改措施
2014/10/24 职场文书
高三复习计划
2015/01/19 职场文书
工程催款通知书
2015/04/17 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
java如何实现socket连接方法封装
2021/09/25 Java/Android
Ruby处理CSV数据方法详解
2022/04/18 Ruby
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android