고구마코드
고객 중에 한 분이
"게시판에 아이디 노출시키면서 앞에 3자리만 보여주고 나머지는 별표해주세요"
하셔서.. 부랴부랴 짠 고구마 코드...
보시는 순간 답답하실지도 모르니 내가 코드 좀 짤 줄 안다 싶으시면 미련없이 뒤로가기 누르세요...
<?php
if ($list[$i]['mb_id'] != 'admin') {
$list_id = $list[$i]['mb_id'];
$list_id_len = strlen($list_id) - 3;
$list_id = substr($list_id, 0, 3);
for($m=0;$m<$list_id_len;$m++) $list_id .= '*'; // 무한루프 빠질까봐 m 으로...
echo '('.$list_id.')';
}
?>
ㅋㅋ...
ㅋ...
... ㅠㅠ
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 28개
echo substr($list[$i]['mb_id'], 0, 3).join(array_fill(strlen($list[$i]['mb_id'])+3 , strlen($list[$i]['mb_id'])-3, '*'));
저는 이런방식으로 사용합니다..ㅎㅎ
if($config['cf_admin'] != $list[$i]['mb_id'])
$list[$i]['mb_id'] = substr($list[$i]['mb_id'], 0, 3).join(array_fill(strlen($list[$i]['mb_id'])+3 , strlen($list[$i]['mb_id'])-3, '*'));
echo $list[$i]['mb_id'];
저런경우에 통상 ID 자리수대로 굳이 노출 하지 않아도 되는 경우가 많아 걍 별 다섯개로 통일을...;
$mid = $list[$i]['mb_id']
echo str_pad(substr($mid,0,3), strlen($mid), "*");
echo substr($id, 0, 3).str_repeat("*", (strlen($id) - 3));
이런 식으로 하셔도 됩니다.
아이디라 하셨으니 영문이나 숫자니까 그냥 1byte로 잡고...
echo substr($mb_id, 0, 3) . str_pad('', strlen($mb_id) - 3, '*');
preg_replace('/(^.)../u','$1☆☆',$ltRow[memberName]);
http://php.net/manual/kr/function.mb-substr.php
이런 방식도 먹힐까요?
[http://sir.kr/data/editor/1704/c1fb410207d168fb21897c296e8fc12d_1492181359_8119.JPG]