테스트 사이트 - 개발 중인 베타 버전입니다

masking 함수 홍O동 채택완료

벛꽃꿀오소리 4년 전 조회 2,032

masking 함수를 사용해서 이름을 홍길동 -> 홍O동으료 출력을 할려고 하는데요.

인코딩을 UTF-8로 하니까 글씨가 깨져서 인코딩을 EUC-KR로 변경하고 보니까

이름이 표시될때 홍OO으로 표시되는데 이걸 홍O동으로 표시하려면 masking 함수에 어디를 수정해야 되나요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

$_data='홍길동';

echo ' ', mb_substr( $_data, 0, 1 ).'O'.mb_substr( $_data, 2 );

 

이렇게 해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

벛꽃꿀오소리
4년 전
답변 감사합니다.
해결 되었습니다. 정말 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

해보신 소스를 올려 보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

벛꽃꿀오소리
4년 전
function letterMasking($_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, "EUC-KR").'○';
break;
case 6:
$maskingValue = mb_strcut($_data, 0, 3, "EUC-KR").'○';
break;
case 3:
$maskingValue = mb_strcut($_data, 0, 3, "EUC-KR").'○'.mb_strcut($_data, 8, 11, "EUC-KR");
break;
case 4:
$maskingValue = mb_strcut($_data, 0, 3, "EUC-KR").'○○'.mb_strcut($_data, 12, 15, "EUC-KR");
break;
default:
$maskingValue = mb_strcut($_data, 0, 3, "EUC-KR").'○○'.mb_strcut($_data, 12, 15, "EUC-KR");
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;
}

masking 소스코드 구요.
원래 인코딩이 utf-8인데 글씨가 깨져서 euc-kr로 변경 했습니다.
case 6은 원래 없던건데 제가 이름 길이를 따로 체크하고 case를 추가한 겁니다.

그리고 list.php에서 사용한 코드 입니다.
$list[$i][name] = lettermasking('N', $list[$i]['wr_name']);

댓글을 작성하려면 로그인이 필요합니다.

https://dev4us.tistory.com/7

 

이걸 한번 참고해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

벛꽃꿀오소리
4년 전
답변 감사합니다.
알려주신 링크를 사용을 해봤는데요. 그래도 이름 표시가 홍OO으로 만 나오네요 ㅜㅜ
홍O동 이렇게 나와야 되는데. 이것 저것 건드려 봤는데 안되니 답답하네요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인