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