아미나 이름 홍** 표시
작성자 정보
- 관리자 작성
- 작성일
본문
ㅇㅇ
<? if($member[mb_level] < 5) { //레벨이 5보다 작으면?>
<?php echo preg_replace("/.(?=.)/u", "$1*", $list[$i]['wr_name']);?>
<? } else { //그렇지 않으면?>
<?php echo $list[$i]['name']; ?>
<? } ?>
<?php
$name_len = mb_strlen($list[$i]['wr_name']);
echo mb_substr($list[$i]['wr_name'],0,1).str_repeat('*',$name_len-1);
?>
목록에서 이름의 중간글자를 O 로 표시하고 싶을때
PHP 4 >= 4.0.6, PHP 5 에서만 정상작동합니다.
그 이하에서는 mb_substr 함수가 지원되지 않습니다.
1. 목록에서 list.skin.php
<?php echo $list[$i]['name'] ?> 를 아래와 같이 변경
<?php
if($member[mb_level] >= 7) { // 관리자는 전체보기
echo $list[$i]['name'];
} else {
mb_internal_encoding('UTF-8');
$string = $list[$i]['wr_name']; // 실명을 사용할 경우
//$string = $list[$i]['wr_nick']; // 별명을 사용할 경우
echo mb_substr($string, 0, 1); // 첫글자
echo "O";
//echo mb_substr($string, 1, 2); // 두번째 글자
echo mb_substr($string, 2, 20); // 세번째 이후 글자
}
?>
<<< 결과 >>>
홍길동 --> 홍*동
김일 --> 김*
1개똥이 --> 1O똥이
ㅁ 개똥이 --> ㅁO개똥이
2. 내용에서는 view.skin.php
<?php echo $view['name'] ?> 를 아래와 같이 변경
<?php
if($member[mb_level] >= 7) { // 관리자는 전체보기
echo $view[name];
} else {
mb_internal_encoding('UTF-8');
$string = $view[wr_name]; // 실명을 사용할 경우
//$string = $view[wr_nick]; // 별명을 사용할 경우
echo mb_substr($string, 0, 1); // 첫글자
echo "O";
//echo mb_substr($string, 1, 2); // 두번째 글자
echo mb_substr($string, 2, 20); // 세번째 이후 글자
}
?>
관련자료
-
링크
-
이전
-
다음
댓글 0개
등록된 댓글이 없습니다.