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

作者:企鹅不笨 时间:2023-09-30 20:16:04 

本文实例讲述了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,替换,字符串
0
投稿

猜你喜欢

  • 使用pandas对两个dataframe进行join的实例

    2022-02-06 11:09:36
  • PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】

    2023-09-08 11:36:58
  • MYSQL使用正则表达式过滤数据

    2024-01-13 05:33:25
  • 利用ajax制作在线翻译聊天室

    2007-12-28 21:44:00
  • ASP动态页服务器端的处理原理

    2007-09-14 10:07:00
  • Python数据处理之pd.Series()函数的基本使用

    2022-09-29 08:50:21
  • js购物车实现思路及代码(个人感觉不错)

    2024-04-18 10:59:06
  • Python在不同场景合并多个Excel的方法

    2021-11-03 02:52:00
  • 运用Python快速的对MySQL数据库进行重命名

    2024-01-17 22:36:25
  • 使用ACCESS做网络版程序的四种解决方案

    2009-01-14 16:22:00
  • 使用django-guardian实现django-admin的行级权限控制的方法

    2022-01-13 04:58:25
  • 关于mysql查询字符集不匹配问题的解决方法

    2024-01-27 23:53:06
  • python 编码规范整理

    2023-05-20 10:14:44
  • Python可变参数会自动填充前面的默认同名参数实例

    2022-05-24 05:00:43
  • oracle sys_connect_by_path 函数 结果集连接

    2009-07-12 18:48:00
  • Python访问MongoDB,并且转换成Dataframe的方法

    2022-07-18 20:32:07
  • pandas实现手机号号码中间4位匿名化的示例代码

    2022-02-02 06:08:40
  • 探究Python中isalnum()方法的使用

    2021-12-05 19:05:31
  • 使用Python实现管理系统附源码

    2023-04-04 04:22:34
  • Python自然语言处理 NLTK 库用法入门教程【经典】

    2022-10-06 04:36:54
  • asp之家 网络编程 m.aspxhome.com