中文字符部分用*号代替

Posted etirps

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中文字符部分用*号代替相关的知识,希望对你有一定的参考价值。

前端展示字段需要有部分被遮挡,特此学习了下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;
}

 

以上是关于中文字符部分用*号代替的主要内容,如果未能解决你的问题,请参考以下文章

python字符串连接超过2个,用join代替+号

JS截取指定长度的的字符串(含中文),中文自动按2个字符截取,多出部分用...代替

jQ选择器学习片段(JavaScript 部分对应)

.NET截取指定长度的汉字超出部分用“···”代替

java中import,用*号代替类名导入类失败,为啥?

shell选取部分内容