PHP用*號替代姓名除第一個字之外的字元
阿新 • • 發佈:2019-02-09
/* * 作用:用*號替代姓名除第一個字之外的字元 * 引數: * * * 返回值:string */function starReplace($name, $num = 0) { if ($num && mb_strlen($name, 'UTF-8') > $num) { return mb_substr($name, 0, 4) . '*'; } if ($num && mb_strlen($name, 'UTF-8') <= $num) { return $name; } $doubleSurname= [ '歐陽', '太史', '端木', '上官', '司馬', '東方', '獨孤', '南宮', '万俟', '聞人', '夏侯', '諸葛', '尉遲', '公羊', '赫連', '澹臺', '皇甫', '宗政', '濮陽', '公冶', '太叔', '申屠', '公孫', '慕容', '仲孫', '鍾離', '長孫', '宇文', '司徒', '鮮于', '司空', '閭丘', '子車', '亓官', '司寇', '巫馬', '公西', '顓孫', '壤駟', '公良', '漆雕', '樂正', '宰父', '穀梁', '拓跋', '夾谷', '軒轅', '令狐', '段幹', '百里', '呼延', '東郭', '南門', '羊舌', '微生', '公戶', '公玉', '公儀', '樑丘', '公仲', '公上', '公門', '公山', '公堅', '左丘', '公伯', '西門', '公祖', '第五', '公乘', '貫丘', '公皙', '南榮', '東里', '東宮', '仲長', '子書', '子桑', '即墨', '達奚', '褚師', '吳銘' ]; $surname = mb_substr($name, 0, 2); if (in_array($surname, $doubleSurname)) { $name = mb_substr($name, 0, 2) . str_repeat('*', (mb_strlen($name, 'UTF-8') - 2)); } else { $name = mb_substr($name, 0, 1) . str_repeat('*', (mb_strlen($name, 'UTF-8') - 1)); } return $name; }
/*
* 作用:用*號替代姓名除第一個字之外的字元
* 引數:
*
*
* 返回值:string
*/
function starReplace($name, $num = 0)
{
if ($num && mb_strlen($name, 'UTF-8') > $num) {
return mb_substr($name, 0, 4) . '*';
}
if ($num && mb_strlen($name, 'UTF-8') <= $num) {
return $name;
}
$doubleSurname = [
'歐陽', '太史', '端木', '上官', '司馬', '東方', '獨孤', '南宮',
'万俟', '聞人', '夏侯', '諸葛', '尉遲', '公羊', '赫連', '澹臺', '皇甫', '宗政', '濮陽',
'公冶', '太叔', '申屠', '公孫', '慕容', '仲孫', '鍾離', '長孫', '宇文', '司徒', '鮮于',
'司空', '閭丘', '子車', '亓官', '司寇', '巫馬', '公西', '顓孫', '壤駟', '公良', '漆雕', '樂正',
'宰父', '穀梁', '拓跋', '夾谷', '軒轅', '令狐', '段幹', '百里', '呼延', '東郭', '南門', '羊舌',
'微生', '公戶', '公玉', '公儀', '樑丘', '公仲', '公上', '公門', '公山', '公堅', '左丘', '公伯',
'西門', '公祖', '第五', '公乘', '貫丘', '公皙', '南榮', '東里', '東宮', '仲長', '子書', '子桑',
'即墨', '達奚', '褚師', '吳銘'
];
$surname = mb_substr($name, 0, 2);
if (in_array($surname, $doubleSurname)) {
$name = mb_substr($name, 0, 2) . str_repeat('*', (mb_strlen($name, 'UTF-8') - 2));
} else {
$name = mb_substr($name, 0, 1) . str_repeat('*', (mb_strlen($name, 'UTF-8') - 1));
}
return $name;
}