게시판 작성자 이름 가운데 가리기
본문
<td class="td_name sv_use"><?php echo substr($list[$i]['name'],0,4)."*" ?></td>
이렇게 했는데 가운데 한글자가 안가려지고 아예 이름이 안나오네용 ㅠㅠ뭐가 잘못된건지..
답변 2
common.lib.php에 아래 함수 추가하시구요.
function masking($_type, $_data){
$_data = str_replace('-','',$_data);
$strlen = mb_strlen($_data, 'utf-8');
$maskingValue = "";
$useHyphen = "-";
if($_type == 'N'){
switch($strlen){
case 2:
$maskingValue = mb_strcut($_data, 0, 3, "UTF-8").'*';
break;
case 3:
$maskingValue = mb_strcut($_data, 0, 3, "UTF-8").'*'.mb_strcut($_data, 8, 11, "UTF-8");
break;
case 4:
$maskingValue = mb_strcut($_data, 0, 3, "UTF-8").'**'.mb_strcut($_data, 12, 15, "UTF-8");
break;
default:
$maskingValue = mb_strcut($_data, 0, 3, "UTF-8").'**'.mb_strcut($_data, 12, 15, "UTF-8");
break;
}
}else if($_type == 'P'){
switch($strlen){
case 10:
$maskingValue = mb_substr($_data, 0, 3)."{$useHyphen}***{$useHyphen}".mb_substr($_data, 6, 4);
break;
case 11:
$maskingValue = mb_substr($_data, 0, 3)."{$useHyphen}****{$useHyphen}".mb_substr($_data, 7, 4);
break;
default:
trigger_error('Not a known format parametter in function', E_USER_NOTICE);
break;
}
}else{
trigger_error('Masking Function Parameter Error', E_USER_NOTICE);
}
return $maskingValue;
}
스킨에서 아래처럼 해보세요.
<td class="td_name sv_use"><?php echo masking('N',$list[$i]['name']) ?></td>
답변을 작성하시기 전에 로그인 해주세요.