웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
/config/func.inc.php
201 라인부터 수정해 주시면 됩니다.
태터툴즈 블로그 사용할 때 쓰던건대...
자료 출처 : http://crizin.net/entry/태터툴즈-고쳐쓰기-2-문자열-정밀하게-자르기
제로보드 문자열 정교하게 자르기
2008.08.03 01:42
function cut_str($string, $cut_size, $tail) { $width = Array(0, 12, 4, 4, 4, 6, 6, 10, 8, 4, 5, 5, 6, 6, 4, 6, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 8, 6, 8, 6, 12, 8, 8, 9, 8, 8, 7, 9, 8, 3, 6, 8, 7, 11, 9, 9, 8, 9, 8, 8, 8, 8, 8, 10, 8, 8, 8, 6, 11, 6, 6, 6, 4, 7, 7, 7, 7, 7, 3, 7, 7, 3, 3, 6, 3, 11, 7, 7, 7, 7, 4, 7, 3, 7, 6, 10, 7, 7, 7, 6, 6, 6, 9, 0); $str_buffer = ""; $len_buffer = 0; $count = 0; $len = strlen($string); $cut_size = $width[1] * $cut_size / 2; while( $count < $len ) { $asc = ord(substr($string, $count, 1)); if( $asc < 128 ) { $len_buffer += $width[$asc-30]; if( $len_buffer > $cut_size ) { $str_buffer .= "..."; break; } $str_buffer .= substr($string, $count, 1); $count += 1; } else { $len_buffer += $width[1]; if( $len_buffer > $cut_size ) { $str_buffer .= "..."; break; } $str_buffer .= substr($string, $count, 3); $count += 3; } } if ($tail) return "$str_buffer"; else return $str_buffer.""; }
/config/func.inc.php
201 라인부터 수정해 주시면 됩니다.
태터툴즈 블로그 사용할 때 쓰던건대...
자료 출처 : http://crizin.net/entry/태터툴즈-고쳐쓰기-2-문자열-정밀하게-자르기
댓글 11
-
젝망치
2008.08.03 01:46
utf-8 용 입니다. 기존에 문자열 자르기가 모양새가 별로여서... (__) -
Newage Love
2008.08.03 14:10
^^ -
라르게덴
2008.08.03 18:10
좋은 팁 감사합니다. ^^ -
팔공산
2008.08.04 10:18
적용해 보니 기존의 문자수보다 반정도만 출력되는군요.
그런데 기존의 자르는방법과 차이점이 무엇입니까.
이것을 적용하니 모든 위젯과 게시판들의 문자수를 다 조절해야 되는데.... -
팔공산
2008.08.04 10:27
제가 답글을 적어보네요.
예전에는 한글과 영문의 길이차이가 있었는데 이 팁을 적용하니 거의 같은 길이로 자르네요.
그래서 모양새이야기를 하셨구나.
일일이 문자수를 바꾸어 주어야 하지만 좋은팁입니다.
감사합니다. -
Gnee
2008.08.04 12:57
제가 바보라서 -ㅅ-...
이 팁이 어떤식으로 쓰이는지 잘 모르겠네요; -
老姜君
2008.08.04 14:46
이거 좀 짱인듯. 위젯 글자수 수정 노가다를 해야 하긴 하지만 확실히 나아집니다. 차라리 메인 함수를 이걸로 대체하면 안될까요?
이 팁의 적용 역할은 팔공산님의 답글에 나와 있습니다. -
Adios
2008.08.04 19:12
아직 애드온의 구조나 실행방식을 완전히 파악하지 못해서 좀 조심스럽습니다만..
이런 함수는 ZBXE의 공식릴리즈에 추가(커밋)하는게 정답인것 같구요, 그게 아니라면 애드온을 통해 구현해서 ZBXE의 함수를 '바꿔치기'하는 식으로 작동시키면 직접 소스를 수정하는 위험(?)을 피할 수 있지 않을까 싶습니다. 가급적이면 릴리즈된 파일들.. 특히 코어부분을 건드리지 않는게 차후의 릴리즈에서 코드를 깨끗하게 유지할 수 있고.. 차후 릴리즈에 커밋되었다면 애드온만 비활성화 하고 삭제해버리면 그만이니까요.
before_module_init 시점에서 애드온이 해당 클래스를 상속한 다음에 함수 자체를 바꿔치기 할 수 있을겁니다.. 아마도 말이죠... 음.... (완전무책임!!!) -
bumok
2008.09.17 11:35
위 소스를 기존 파일 201 라인에서 어떻게 수정하면 되는지 초보자들을 위해서 좀 상세히 가르쳐 주실수 없나요 ???
201 번째 줄에 삽입하니까 메인페이지가 허여케 안나와요 ?? -
zero
2008.09.18 13:56
네. 좋은 정보 감사합니다.
2byte 문자열을 제외하고 모두 가변 길이를 구해서 처리하는 방식이네요.
원 소스코드의 출처를 알 수 없어서 따로 직접 구현하고 1.0.6에서 배포할 수 있도록 했습니다.
돋움체에서 2byte 문자열과 그외 문자열에 대해서 일일히 길이 구하느라고 삽질했네요. ^^ -
음냐
2008.11.15 19:37
오우 제로님이 직접.. 댓글만 봐도 영광인듯..
그럼 1.0.6 이상에서는 이미 포함된 거라 직접 안 해도 되는거죠?
제목 | 글쓴이 | 날짜 |
---|---|---|
제로보드XE에서 표 쉽게 만드는 방법.. [23] | 청개구리00 | 2008.07.27 |
제로보드XE 설치 완료버튼 누르니까 My sql 관련 내용 나오던데요 [3] | Naver™ | 2008.07.30 |
1원팁) 톱메뉴를 제거하고 왼쪽 서브메뉴만 출력하는 방법 [2] | Gnee | 2008.08.02 |
제로보드 문자열 정교하게 자르기 [11] | 젝망치 | 2008.08.03 |
TRAC과 SVN을 참조하여 1.0.5의 애드온 설정 버그 해결하기 | Adios | 2008.08.04 |
첨부화일 등록시 사라지는 현상 [2] | 0라이트0 | 2008.08.05 |
닉네임, 이름 정보변경 못하게 하기. [6] | 부엉이 | 2008.08.06 |
설치시 초기화면으로 돌아가는 현상 해결 [1] | spk | 2008.08.07 |
오픈 아이디(OpenID)로만 로그인 허용하기 [7] | withover.com | 2008.08.07 |
댓글 첨부파일부분 닫기/열기 추가 [1] | Gnee | 2008.08.09 |
렙업시 소속그룹 없어지는 문제! 얍실하게 해결.. 쿨럭. [2] | 이슈카ㆀ | 2008.08.12 |
rewrite mod 사용 않될 경우 해결 방법 1가지 | 블루스카이77 | 2008.08.13 |
권한 문제 때문에 생길 수 있는 문제 해결 방안 | 꽃들 | 2008.08.14 |
zbxe에서 piclens 사용하기 [2] | 우정진 | 2008.08.15 |
미국 yahoo zbxe 설치 및 mysql 연결 [4] | mr007 | 2008.08.15 |
이미지 좌측 정렬시 내용이 적으면 아래부분 올라오는 문제 해결법 [2] | 대류 | 2008.08.16 |
한글로 된 이미지 문제 [17] | Defy | 2008.08.19 |
[게시판] 이미존재하는 모듈이름 입니다. 오류. [2] | 나이스가이212 | 2008.08.21 |
라이프팟 연동에서 XML 주소 얻기 | 최재원541 | 2008.08.23 |
한 페이지(화면)에 두개(2개)의 모듈(게시판 등)을 넣는 법 [6] | 황건순 | 2008.08.25 |