데이터에서 이름을 추출할때 두번째 자리부터 OO으로 표시 정보
PHP 데이터에서 이름을 추출할때 두번째 자리부터 OO으로 표시본문
지금 게시판하나를 짜고 있는데 막혀서요
다름이 아니라 작성자의 이름을 노출 시켜야 하는데
홍길동이면 홍OO나, 홍O동으로 노출을시키고 싶은데
함수가 아니 하는방법이 잘 기억이 가물가물..
혹.. 아시는분 계시면 부탁 드립니다...
추천
0
0
댓글 3개

substr_replace($name,'*',4,2);
은 이름뒤에 *로 출력이됩니다.
$name 가 네이버이면 네이*로 출력이됩니다.
나버지 부분은 알맞게 수정 하시면 됩니다.
은 이름뒤에 *로 출력이됩니다.
$name 가 네이버이면 네이*로 출력이됩니다.
나버지 부분은 알맞게 수정 하시면 됩니다.
아주 많이 감사합니다.

스쿨이 열리지 않는군요. 예전 댓글 링크 남기면 좋겠는데….
아무튼 Multibyte String Functions 쓸 수 있으면 이런 방법도 있어요.
$name = '홍길동';
mb_internal_encoding(mb_detect_encoding($name,'UTF-8,EUC-KR'));
for($i=0,$l=mb_strlen($name),$t=array();$i<$l;$i++)$t[]=mb_substr($name,$i,1);
$t에는 한 글자씩 나뉘어 배열로 '홍','길','동' 할당됩니다. $l은 글자 길이 3.
이 두 값을 이용해 지지고 볶고 하면 됩니다.
$test = $t; // 편하게 보기 위한 할당
$test[0] = '○'; echo implode('',$test); // ○길동
$test = $t;
$test[1] = '○'; echo implode('',$test); // 홍○동
$test = $t;
$test[2] = '○'; echo implode('',$test); // 홍길○
$test[$l-1] = '○'; echo implode('',$test); // 홍길○ … 길이 상관없이 마지막 한 글자
$test = $t;
echo $test[0].str_repeat('○',$l-1); // 홍○○
UTF-8 환경이면 아래처럼 짧게도 가능합니다.
$name = '홍길동';
preg_match_all('/./u',$name,$t); $t=$t[0];
EUC-KR 환경이면
$name = '홍길동';
preg_match_all('/[\x80-\xFF].|./',$name,$t); $t=$t[0];
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=309125
:
아무튼 Multibyte String Functions 쓸 수 있으면 이런 방법도 있어요.
$name = '홍길동';
mb_internal_encoding(mb_detect_encoding($name,'UTF-8,EUC-KR'));
for($i=0,$l=mb_strlen($name),$t=array();$i<$l;$i++)$t[]=mb_substr($name,$i,1);
$t에는 한 글자씩 나뉘어 배열로 '홍','길','동' 할당됩니다. $l은 글자 길이 3.
이 두 값을 이용해 지지고 볶고 하면 됩니다.
$test = $t; // 편하게 보기 위한 할당
$test[0] = '○'; echo implode('',$test); // ○길동
$test = $t;
$test[1] = '○'; echo implode('',$test); // 홍○동
$test = $t;
$test[2] = '○'; echo implode('',$test); // 홍길○
$test[$l-1] = '○'; echo implode('',$test); // 홍길○ … 길이 상관없이 마지막 한 글자
$test = $t;
echo $test[0].str_repeat('○',$l-1); // 홍○○
UTF-8 환경이면 아래처럼 짧게도 가능합니다.
$name = '홍길동';
preg_match_all('/./u',$name,$t); $t=$t[0];
EUC-KR 환경이면
$name = '홍길동';
preg_match_all('/[\x80-\xFF].|./',$name,$t); $t=$t[0];
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=309125
: