이름 별표(*) 로 변경하는 것
페이지 정보
작성자 서방님 댓글 1건 조회 111회 작성일 14-02-26 10:44본문
이름은 한글일수도있고 영어일수도있으며..
세글자 이상일때는 뒤에 두글자를 ** 로 바꾸고
세글자 미만일때는 마지막 한글자를 * 로 바꿔야하는데
한글자르기 보면서 만들어보고있으나,
감이안잡히네요 ㅜㅜㅜ
UTF-8 기준입니다. 참고로 막 패턴입니다.
echo preg_replace('/.(?!.)/u','○','홍길동'); // 홍길○
echo preg_replace('/.(?=.)/u','○','홍길동'); // ○○동
echo preg_replace('/.(?!..)/u','○','홍길동'); // 홍○○
echo preg_replace('/.(?=.$)/u','○','홍길동'); // 홍○동
echo preg_replace('/.(?!..)/u','○','홍길동'); // 홍○○
echo preg_replace('/.(?!.$)/u','○','홍길동'); // ○길○
echo preg_replace('/./u','○','홍길동'); // ○○○
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
$view['name'] = '홍길동';
mb_internal_encoding(mb_detect_encoding($view['name'],'UTF-8,EUC-KR'));
echo ($len=mb_strlen($view['name']))>2 ? mb_substr($view['name'],0,1).str_repeat('*',$len-2).mb_substr($view['name'],-1,1) : $view['name']; // 홍*동
$view['name'] = '비혼';
mb_internal_encoding(mb_detect_encoding($view['name'],'UTF-8,EUC-KR'));
echo ($len=mb_strlen($view['name']))>2 ? mb_substr($view['name'],0,1).str_repeat('*',$len-2).mb_substr($view['name'],-1,1) : $view['name']; // 비혼
$view['name'] = '데이터베이스';
mb_internal_encoding(mb_detect_encoding($view['name'],'UTF-8,EUC-KR'));
echo ($len=mb_strlen($view['name']))>2 ? mb_substr($view['name'],0,1).str_repeat('*',$len-2).mb_substr($view['name'],-1,1) : $view['name']; // 데****스
그 외 다양한 방법이 있습니다만 생략합니다.
댓글목록
서방님님의 댓글
서방님 작성일
<p>한글 문제</p>
<p><a href="http://phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=324882&sca=&sfl=wr_subject%7C%7Cwr_content&stx=error_reporting&sop=and&page=5"><span style="FONT-FAMILY: Gulim">http://phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=324882&sca=&sfl=wr_subject%7C%7Cwr_content&stx=error_reporting&sop=and&page=5</span></a></p>