취업/PHP

[PHP]문자열 '*', 별표로 치환하기

카슈밀 2021. 6. 14. 18:12
반응형

필자는 회사 업무를 하던 도중 이메일 주소를 암호화 할 필요가 있었다.

그러다보니 찾은 자료가 있는데

https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=21 

 

이름이나 전화번호 중간 부분을 별표 *** 표시로 숨기기 - 게시판스킨강좌, 그누보드5강좌

신청서나 예약 게시판을 사용할 때 개인 정보 노출 방지용으로 이름이나 연락처 일부를 숨기는 방법입니다.여러 방법을 무작위로 나열했습니다. 원하는 방식으로 아무거나 사용하면 됩니다.관

gnustudy.com

진짜 정리가 잘되어있더라. 

 

나의 경우 이메일 주소

explode 함수로 @중심으로 주소를 쪼개고

쪼개진 이메일 주소 explode는 배열로 나오기에 배열 0번째로 2글자부터 해당 내용을 *로 치환

$email = 'example@naver.com';
$div= explode('@', $email);
$div[0] = preg_replace('/(?<=.{2})./u','*',$div[0]);
// 2번째부터 *로 치환
$div[1] =  preg_replace('/[A-za-z0-9]/','*',$div[1]);
// .을 제외한 모든 영문 *로 치환
$mail = implode('@', $div);

결과물이 ex*****@*****.***

잘 되더라 ㅎㅎㅎ

728x90