테스트 사이트 - 개발 중인 베타 버전입니다

한글 깨지지 않게 자르기 채택완료

hoinV 8년 전 조회 7,407

최신글과 게시판 목록에서 관리자일때만 이름이 보이고, 손님일때는 성만 보이게 하려고 하는데요.

여기저기 방법들을 찾아서 조합했는데 되긴합니다. 그런데 글자가 깨져서 보여서요.

깨지 않게 깨끗하게 "김** "이렇게 자를 수 없는지 도움 요청 드려봅니다

 

 

■ 최신글 일때 사용한 소스

<?=$is_admin=='super'? $list[$i][name]:substr($list[$i][wr_name],0,4).'**'?>

결과는  => 익스에선 요렇게 보여요;, 크롬에선 ?표시로 나오더라구요 ( *이�** )

 

■ 게시판 목록 일때 사용한 소스

<?=$is_admin=='super'? $list[$i][name]:substr($list[$i][wr_name],0,4).'**'?>
 

결과는  => 요렇게 보여요; ( *이�** )

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

답변 3개

채택된 답변
+20 포인트
플라이
8년 전

substr로 그냥 자르면 안됩니다. 한글이 2~3byte를 차지하기 때문에 한글문자 자르시려면 utf8_strcut() 함수를 이용하셔야 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
hoinV
8년 전
감사합니다. 덕분에 해결하였습니다. !!!!!!

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

h
8년 전

혹시 저와 같은 고민 있는 분들을 위해 해결한 소스 다시 올려드립니다.

플라이 님이 주신 정보로 적용한 소스 //

<?=$is_admin=='super'? $list[$i][name]:utf8_strcut($list[$i][wr_name],4).'**'?>

 

잉끼다 님이 주신 정보로 적용한  소스 //

<?=$is_admin=='super'? $list[$i][name]:mb_substr($list[$i][wr_name], 0, 1, 'utf-8').'**'?>

 

모두 잘 적용됩니다.!!! 

로그인 후 평가할 수 있습니다

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

잉끼s
8년 전

mb_substr($list[$i][wr_name], 0, 4, 'utf-8');

mb_substr($list[$i][wr_name], 0, 4, 'euc-kr');

 

인코딩 타입에 따라 맞추서 자르시면 됩니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
hoinV
8년 전
감사합니다. 잘 해결할수 있게 도움 주셔서 정말 고맙습니다.!!

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

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

로그인