처음
|
Winamp가지고 놀기
|
방명록 & 게시판
|
자료실
|
블로그
mb_substr() Function Customize
FrontPage
TitleIndex
FindPage
RecentChanges
Total 155 pages
EditText
ID
Password
Contents
1
목적
2
방법
3
구현
4
실제 적용한 code
5
Screenshots
5.1
mb_string()을 쓰기 전
5.2
mb_string()을 쓴 후
5.3
mb_string()에 20자를 자르기
5.4
이 방법을 쓰고 난 후
6
마무리
1
목적
#
mb_substr() 은 한글이은 알파벳이든 무조건 한 글자로 세어서 자르는데, 알파벳 글자 폭이 한글보다 작아서 길이가 달라 눈에 거슬린다. 길이를 최대한 비슷하게 해 보자.
2
방법
#
mb_substr() 로 잘라낸 문자열 안에 알파벳 갯수를 센다. 알파벳 갯수만큼 잘라낸 문자열 바로 뒷부분을 더 자른다. 추가된 부분에서 알파벳이 아닌 글자 갯수를 센다. 이렇게 해서 (처음 입력한 길이 + 알파벳 갯수 - 알파벳이 아닌 글자 갯수) 를 해서 잘라낼 글자 수를 정한다.
3
구현
#
mb_substr()로 잘라냄, 문자열1 이라 하면
정규표현식을 이용, 문자열1 에서 알파벳이 아닌 글자를 지움, 문자열2 라고 하면
문자열2의 문자열 길이를 구함
mb_substr()로 문자열1 바로 뒤에서 부터 문자열2의 길이만큼 더 잘라냄, 문자열3 이라 하면
정규표현식을 이용, 문자열2 에서 알파벳인 글자를 지우고(문자열4) 문자열 길이를 구함
잘라야 할 길이 = 처음 입력한 길이 + 문자열2의 길이 - 문자열4의 길이
mb_substr()로 위에서 구한 길이만큼 잘라냄
4
실제 적용한 code
#
5
Screenshots
#
5.1
mb_string()을 쓰기 전
#
글자는 알파벳 기준 40자로 잘랐으며, 한글 한 글자는 알파벳 두 글자로 계산하였다.
5.2
mb_string()을 쓴 후
#
한글, 알파벳 구분 없이 40자를 세어서 자른 것을 확인할 수 있다.
5.3
mb_string()에 20자를 자르기
#
마찬가지로 한글, 알파벳 구분 없이 20자를 세어서 잘라 길이가 많이 다르다.
5.4
이 방법을 쓰고 난 후
#
mb_string()을 이용하고 20자를 자르게 하였다. 길이가 그래도 많이 비슷해 졌다.
6
마무리
#
정규표현식을 두번이나 쓰고, 문자열을 두번이나 더 자른다.
어쨌든 원하는 모양을 만들었으니 만족-_-
Best viewed with
Mozilla
latest. Powered by
MoniWiki
.