게시판 목록화면에서 글작성자 이름 부분 숨김처리 별표처리 (홍*동) 방법 질문
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.0 |
위 첨부 이미지처럼
게시판 목록에 작성자 이름을 나오게 했을경우,
홍○동 이런식으로 한글자나 두글자가 특수문자로 치환되게 하는
애드온이나 팁이 있는지 알려주세요 ^^
어디서 본것도 같은데... -_-a 장시간 검색해도 못찾겠네요...
구글에서 찾은 거라고는 php스쿨에서 아래 답변은 찾았는데...
제가 프로그램 까막눈이라..
배포하는 애드온이나 마켓에는 등록된게 없을까요?
출처 : https://phpschool.com/link/qna_function/384242
예전에 답변했던 내용…
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
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']; // 데****스
그 외 다양한 방법이 있습니다만 생략합니다.
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
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']; // 데****스
그 외 다양한 방법이 있습니다만 생략합니다.
댓글 1
아래 링크로 가시면 해결방법이 있습니다.
https://xetown.com/questions/1362598