// 字符中间加*星号,支持中英文 add 202109111538
function str_chuli($str,$start,$end=0,$dot="*",$charset="UTF-8",$maxdot=8){
$len = mb_strlen($str,$charset);
// 只有2个字符时
if($len == 2){
return mb_substr( $str, 0, 1, $charset ).$dot.mb_substr( $str, -1, 1, $charset );
}
if($start==0||$start>$len){
$start = 1;
}
if($end!=0&&$end>$len){
$end = $len-2;
}
$endStart = $len - $end;
$top = mb_substr($str, 0,$start,$charset);
$bottom = "";
if($endStart>0){
$bottom = mb_substr($str, $endStart,$end,$charset);
}
$len = $len - mb_strlen($top,$charset);
$len = $len - mb_strlen($bottom,$charset);
$newStr = $top;
// 最大星号数
$len = $len > $maxdot? $maxdot : $len;
for($i=0;$i<$len;$i++){
$newStr.=$dot;
}
$newStr.=$bottom;
return $newStr;
}
网友评论