이름 별표(*) 로 변경하는 것 > php

본문 바로가기
사이트 내 전체검색

php

이름 별표(*) 로 변경하는 것

페이지 정보

작성자 서방님 댓글 1건 조회 111회 작성일 14-02-26 10:44

본문

▶ PHP스쿨 > Q&A > PHP Function - http://www.phpschool.com/link/qna_function/385187

이름은 한글일수도있고 영어일수도있으며..

세글자 이상일때는 뒤에 두글자를 ** 로 바꾸고
세글자 미만일때는 마지막 한글자를 * 로 바꿔야하는데
한글자르기 보면서 만들어보고있으나,
감이안잡히네요 ㅜㅜㅜ

 

 

 

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']; // 데****스

그 외 다양한 방법이 있습니다만 생략합니다.

댓글목록

서방님님의 댓글

서방님 작성일

회원로그인

접속자집계

오늘
264
어제
225
최대
1,347
전체
155,023
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.