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 相关文章推荐
PHPlet在Windows下的安装
Oct 09 PHP
十天学会php之第二天
Oct 09 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 PHP
一个PHP的ZIP压缩类分享
May 04 PHP
DOM基础及php读取xml内容操作的方法
Jan 23 PHP
php实现专业获取网站SEO信息类实例
Apr 02 PHP
PHP实现加强版加密解密类实例
Jul 29 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php微信公众平台开发类实例
2015/04/01 PHP
php unlink()函数使用教程
2018/07/12 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
python实现在每个独立进程中运行一个函数的方法
2015/04/23 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
NumPy中的维度Axis详解
2019/11/26 Python
Python class的继承方法代码实例
2020/02/14 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
纯CSS3发光分享按钮的实现教程
2014/09/06 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
会计电算化专业毕业生自荐信
2013/12/20 职场文书
生产部管理制度
2014/01/31 职场文书
三字经教学反思
2014/04/26 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
员工规章制度范本
2015/08/07 职场文书
golang中的空slice案例
2021/04/27 Golang
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android