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脚本的10个技巧(1)
Oct 09 PHP
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 PHP
PHP 防恶意刷新实现代码
May 16 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
CI(CodeIgniter)模型用法实例分析
Jan 20 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
php实现文件预览功能
May 23 PHP
PHP设计模式之工厂模式详解
Oct 24 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
用cookies来跟踪识别用户
2006/10/09 PHP
PHP新手上路(十三)
2006/10/09 PHP
php桌面中心(四) 数据显示
2007/03/11 PHP
php5新改动之短标记启用方法
2008/09/11 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
JQuery之拖拽插件实现代码
2011/04/14 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
gearman的安装启动及python API使用实例
2014/07/08 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
python实现图片彩色转化为素描
2019/01/15 Python
python实现贪吃蛇小游戏
2020/03/21 Python
python实现最短路径的实例方法
2020/07/19 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
什么是TCP/IP
2014/07/27 面试题
给幼儿园老师的表扬信
2014/01/19 职场文书
初中教师个人工作总结
2015/02/10 职场文书
金榜题名主持词
2015/07/02 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
oracle数据库去除重复数据
2022/05/20 Oracle