본문 바로가기
그누보드/게시판

[그누보드] 항목 중간을 ** 등으로 숨기기

by Gi-One 2022. 1. 21.

#그누보드 #중간숨기기

 

안녕하세요. Gi_1입니다.

 

홈페이지를 만들다 보면, 이름이나 핸드폰번호를 일부러 일반 사용자도 보이게 노출을 시키고 중간을 **로 가리는 경우가 있습니다.

 

 

코드

 1. <?php echo $list[$i]['name'] = mb_substr($list[$i]['wr_name'], 0, -2).'**님께서 협력업체 신청 하셨습니다.'; ?>
 
 
 2. <?php echo cut_str($list[$i]['wr_name'],1,'**님이 견적 문의 하셨습니다.');?>
 
 
wr_name은 그누보드에서 보통 이름을 받는데 사용합니다.
 
1번부터 살펴보겠습니다.
 
php에서
 
substr : 문자열, 시작지점, 길이를 받아서 문자열의 일부를 반환하는 함수입니다.
 
단, 제가 쓴 함수는 mb_substr 인데요, 똑같이 문자열의 일부를 반환하는 함수입니다.
다만 입력 사항이 다른데요 mb_substr은 문자열, 시작지점, 길이, 인코딩을 받습니다 ( 문제셋 등 )
 
들어가 있는 숫자를 바꿔보시면서 테스트 해보면서 알아가는 것도 좋은 방법입니다!
 
 
 
즉, 위 식에서 예를 들어보면 wr_name이 홍길동이라 가정합니다.
mb_substr("홍길동", 0, -2, **님께서 협력업체 신청 하셨습니다.") 입니다.
시작숫자가 -2로 음수인데, 시작숫자가 음수인 경우, 문자열의 끝을 기준으로 문자열의 일부를 가져옵니다.
즉, 문자열 끝의 '동' 에서 2글자를 제외 : "길동"을 제외한 홍만 가져오게 되는겁니다.
인코딩을 **님께서 협력업체 신청 하셨습니다. 를 입력하였으므로
홍**님께서 협력업체 신청 하셨습니다. 가 반환됩니다.
 
 
 
 
2번을 살펴보겠습니다.
 
2번은 그누보드 안에서만 작동하는 함수입니다. 
 
<?php echo cut_str($list[$i]['wr_name'],1,'**님이 견적 문의 하셨습니다.');?>
 
cut_str은 그누보드 lib/common.lib.php파일에 함수가 들어 있습니다.
 
글자수를 1자로 자르고 나머지 부분은 **님이 견적 문의 하셨습니다. 로 출력하는 것 입니다.
 
 
 
 
 

 

 

본인이 작성한 글 & 관리자가 쓴 글은 예외처리

관리자일 경우 예외처리

if(!$is_admin && $list[$i]['mb_id'] != 'admin') {

  함수작성

}

 

본인이 작성한 글일 경우 예외처리

if($list[$i]['mb_id'] != $member['mb_id]){

  함수작성

}

 

둘 다 적용하고 싶으면 && 로 묶어주면 됩니다.

if(!$is_admin && $list[i]['mb_id] != 'admin' && $list[i]['mb_id'] != $member['mb_id']){

  함수작성

}

 

 

 

 

댓글