구매고객
판매자
솔루션별 질문
광고가 아닌 글을 신고하면 회원님의 신고 권한이 제한될 수 있습니다. 신중하게 신고해 주세요.
디자인과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.
전체 868개 중 251-275번째
댓글 3개
은 이름뒤에 *로 출력이됩니다.
$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
: