채택완료

홍*동 처럼 두 번째 글자만 별표처리를 하려면~

2018-06-12 (화) 16:02:34 5,339

안녕하세요?


이름에 별표처리를 할 때 다음과 같이 하면 홍** 이렇게 나오는데요~
echo substr($list[$i]['wr_name'], 0, 3).'**' ;

이름 길이에 상관없이 홍*동 , 을*문덕처럼 두 번째 글자만 별표처리를 하려면 어떻게 적어줘야 하는지요?

영어 이름이 문제가 될까요?


오늘도 좋은 하루 되십시오~
감사합니다.

답변 4개 / 댓글 4개

채택된 답변
+20 포인트
2018-06-12 (화) 16:35:53
Copy
echo preg_replace("/(^.)./u", "$1*", $list[$i]['wr_name']);

위처럼 해보세요~

답변에 대한 댓글 1개

감사합니다. 잘 됩니다.
2018-06-12 (화) 16:37:51
Copy
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','*','홍길동'); // ***

답변에 대한 댓글 1개

제가 잘 몰라서 그런지 잘 적용이 안 되네요~
이를 우짜나?
아뭏든 감사합니다.
2018-06-12 (화) 16:35:06
Copy
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','○','홍길동'); // ○○○

답변에 대한 댓글 1개

헌이님이 답변을 주셨는데...
제가 잘 몰라서 그런지 잘 적용이 안 되네요~
아뭏든 감사합니다.

str_replace(mb_substr('홍길동', 1,1, 'UTF-8'),'*','홍길동')

음... 더좋은방법이있다면 다른분들이 알려주실껍니다 ㅎㅎ..

답변에 대한 댓글 1개

제가 잘 몰라서 그런지 잘 적용이 안 되네요~
하여간 감사합니다.

답변을 작성하려면 로그인이 필요합니다.