中文字符部分用*号代替

前端展示字段需要有部分被遮挡,特此学习了下php的mb_substr()函数

mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) : string 
参数描述
str 必需。从该 string 中提取子字符串。
start 必需。规定在字符串的何处开始。
  • 正数 - 在字符串的指定位置开始
  • 负数 - 在从字符串结尾的指定位置开始
  • 0 - 在字符串中的第一个字符处开始
length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
  • 正数 - 从 start 参数所在的位置返回
  • 负数 - 从字符串末端返回
encoding 可选。字符编码。如果省略,则使用内部字符编码。

 

/*单纯的替换中文字段的函数*/
function substr_cut($user_name){
  $strlen = mb_strlen($user_name, 'utf-8');
  $firstStr = mb_substr($user_name, 0, 1, 'utf-8');
  $lastStr = mb_substr($user_name, -1, 1, 'utf-8');
  return $strlen == 2 ? $firstStr . str_repeat('*', mb_strlen($user_name, 'utf-8') - 1) : $firstStr . str_repeat("*", $strlen - 2) . $lastStr;
}

 

posted @ 2019-09-12 16:03  天空本来想  阅读(290)  评论(0编辑  收藏  举报