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

권한별 설정주는법 채택완료

호딸붐 8년 전 조회 2,106


회원 레벨이 5일경우에만 

전화번호 뒷자리를 표출 하고 싶습니다.


         <?php 

if (!$member['mb_id'] && $view['wr_6']) { 

    echo substr($view['wr_6'],0,-4)."****"; 


} else { 

    echo $view['wr_6']; 

?>


이렇게 지금 소스가 되어있는데 전화번호입력시 하이픈도 같이 첨부되길 원합니다

어찌 소스를 수정해야될끼요ㅕ

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

답변 1개

채택된 답변
+20 포인트
8년 전

수정 코드입니다.


</p><p>if ($view['wr_6']) { // 전화번호 필드에 값이 있으면</p><p><span style="white-space:pre">	</span>if ($member['mb_level'] == 5) // 회원 레벨이 5 이면</p><p><span style="white-space:pre">		</span>$hp = $view['wr_6'];</p><p><span style="white-space:pre">	</span>else // 회원 레벨 5가 아니거나, 비회원이라면</p><p><span style="white-space:pre">		</span>$hp = substr($view['wr_6'], 0, -4) . "****";</p><p><span style="white-space:pre">			</span></p><p><span style="white-space:pre">	</span>$hp_hyphen = preg_replace("/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/", "\\1-\\2-\\3", $hp); // 하이픈 정규식 처리</p><p><span style="white-space:pre">	</span></p><p><span style="white-space:pre">	</span>echo $hp_hyphen;</p><p>}</p><p>

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

답변에 대한 댓글 5개

호딸붐
8년 전
잘됩니다~
컴퍼니님 하이픈 설정은 레벨5뿐만아니라 전체적으로 모두가볼때도 하이픈이 적용되게하고싶습니다.
지금은 레벨5일때만 설정이되는데
전체적으로 하이픈적용 되고 레벨5일때만 ****처리가 보이게하려면 어짜ㅣ하나요


똑같이 리스트스킨에도 적용하고싶습니다.
같이알려주세요~!

리스트에서는 현재
<td style="width:60%; float:left; text-align:left; color:#000; font-size:15px; font-weight:600;"><?=substr($list[$i][wr_6],0,3) . '-' . substr($list[$i][wr_6],3,-4) . '-' . substr($list[$i][wr_6],-4)?></td>


이렇게 적용되어있습니다.
마르스컴퍼니
8년 전
제가 작성한 소스는,

레벨 5가 아닌 경우에도 하이픈을 적용한 소스입니다.

$hp = substr($view['wr_6'], 0, -4) . "****";

$hp_hyphen = preg_replace("/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/", "\\1-\\2-\\3", $hp); // 하이픈 정규식 처리

echo $hp_hyphen;

// 182 1111 2222 라면 => 182-1111-****

제가 확인을 못해보기는 했는데, 레벨 5가 아닌 경우에 안나온다면.. 적절히 수정하면 될 듯 합니다.

$hp_hyphen = preg_replace("/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/", "\\1-\\2-\\3", $hp);

가 $hp 의 전화번호 정보를 하이픈을 추가하여 $hp_hyphen 에 저장한다는 의미입니다.


리스트 페이지에도 하이픈 처리하고자 하는 경우에는,

상단에서,

$list[$i] 가 시작되는 다음 라인 즈음에

$hp = preg_replace("/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/", "\\1-\\2-\\3", $list[$i][wr_6]);

을 추가해준 후

<?=$hp?> 식으로 해주면 됩니다.
호딸붐
8년 전
리스트에서도
레벨 5권한에서만 뒷자리 ****처리된것이 보이면서 하이픈처리도 같이 하고싶은데
소스수정이 잘안되네요 ㅠㅠ
마르스컴퍼니
8년 전
리스트 페이지에서도 원리는 동일합니다.

[code]
if ($list[$i]['wr_6']) { // 전화번호 필드에 값이 있으면
if ($member['mb_level'] == 5) // 회원 레벨이 5 이면
$hp = $list[$i]['wr_6'];
else // 회원 레벨 5가 아니거나, 비회원이라면
$hp = substr($list[$i]['wr_6'], 0, -4) . "****";

$hp_hyphen = preg_replace("/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/", "\\1-\\2-\\3", $hp); // 하이픈 정규식 처리

}
[/code]

를 $list[$i] 시작되는 부분에 넣어준 후,

<?=$hp_hyphen?> 으로 처리해주면 됩니다.
호딸붐
8년 전
정말 감사합니다.
레벨5에서만 하이픈처리가되는거 빼곤 잘됩니다~

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

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

로그인