php替换字符串中间字符为省略号的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-25 14:58:34 浏览: 评论:0
这篇文章主要介绍了php替换字符串中间字符为省略号的方法,可实现将字符串中间部分替换成省略号的功能,适用于账号、手机号等敏感信息的部分隐藏,需要的朋友可以参考下。
本文实例讲述了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)
Tags: php替换字符串
- 上一篇:php中JSON的使用方法
- 下一篇:php为字符串前后添加指定数量字符的方法
相关文章
- ·php中替换字符串中的空格为逗号','的方法(2021-02-09)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)