고구마코드 정보
고구마코드
본문
고객 중에 한 분이
"게시판에 아이디 노출시키면서 앞에 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.')';
}
?>
ㅋㅋ...
ㅋ...
... ㅠㅠ
추천
2
2
댓글 28개
str_repeat 또는 str_pad 쓰면 편하지 않나요? ㅎㅎ

@굿어스 자 이제 코드를 내놓으시죠.

왜 고구마코드일까 한참 생각했네요 ㅋㅋ

@nanati 보는 순간 답답하거든요.ㅋㅋㅋ
$list[$i]['mb_id'] = "admin";
echo substr($list[$i]['mb_id'], 0, 3).join(array_fill(strlen($list[$i]['mb_id'])+3 , strlen($list[$i]['mb_id'])-3, '*'));
저는 이런방식으로 사용합니다..ㅎㅎ
echo substr($list[$i]['mb_id'], 0, 3).join(array_fill(strlen($list[$i]['mb_id'])+3 , strlen($list[$i]['mb_id'])-3, '*'));
저는 이런방식으로 사용합니다..ㅎㅎ

@8115A 사실 이런 걸 기대했죠. 뭔 소린지는 모르겠지만 고급져보이네요. ㅎㅎㅎ
$list[$i]['mb_id'] = "dasda";
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'];
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'];

@8115A 알아볼 수 있는게 $config['cf_admin'] 뿐이네요. 이렇게 검사하는게 맞는데 ㅠㅠ
@지운아빠 저도,, 만들긴 했지만 가끔 후다닥 눈으로 보면 알아보지 알아듣지 못합니다. ㅋ.ㅋ

echo substr($list[$i]['mb_id'], 0, 3).'*****';
저런경우에 통상 ID 자리수대로 굳이 노출 하지 않아도 되는 경우가 많아 걍 별 다섯개로 통일을...;
저런경우에 통상 ID 자리수대로 굳이 노출 하지 않아도 되는 경우가 많아 걍 별 다섯개로 통일을...;

@그림자밟기 별다른 이슈 없으면 이 방법도 스마트하네요.

이러니 우리께 팔릴리가 있나! ㅠㅠ
$mid = $list[$i]['mb_id']
echo str_pad(substr($mid,0,3), strlen($mid), "*");
$mid = $list[$i]['mb_id']
echo str_pad(substr($mid,0,3), strlen($mid), "*");

@리자 왜 저한테 판매를 묻고 그러쎄요... 무서워요. ㄷㄷㄷ

$id = "abcedfghi";
echo substr($id, 0, 3).str_repeat("*", (strlen($id) - 3));
이런 식으로 하셔도 됩니다.
아이디라 하셨으니 영문이나 숫자니까 그냥 1byte로 잡고...
echo substr($id, 0, 3).str_repeat("*", (strlen($id) - 3));
이런 식으로 하셔도 됩니다.
아이디라 하셨으니 영문이나 숫자니까 그냥 1byte로 잡고...

@왕계란 굳~

$mb_id = $list[$i]['mb_id'];
echo substr($mb_id, 0, 3) . str_pad('', strlen($mb_id) - 3, '*');
echo substr($mb_id, 0, 3) . str_pad('', strlen($mb_id) - 3, '*');

@gilynh 굳~
전 예전에 이런식으로 정규식 썼네요 한줄이면 됨.
preg_replace('/(^.)../u','$1☆☆',$ltRow[memberName]);
preg_replace('/(^.)../u','$1☆☆',$ltRow[memberName]);

@senseme 굳~

@리자 호오! 제일 멋지네용 ㅋㅋ
$strim = mb_substr($list[$i]['mb_id'], '0', -3) . "***";
http://php.net/manual/kr/function.mb-substr.php
이런 방식도 먹힐까요?
http://php.net/manual/kr/function.mb-substr.php
이런 방식도 먹힐까요?

@소지구 되면 되지 않을까요? ㅎㅎㅎ
@지운아빠 맞습니다. ㅎ 돌아가면 정상입니다. ^^ ㅎ



짤이 없어서... 표현을 못하겠네요ㅎㅎㅎ


흠 가슴이 답답해~

댓글에 웬 욕들을 그렇게 적어 놓으셨는지 참~~~