웹마스터 팁
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 이상에서는 이미 포함된 거라 직접 안 해도 되는거죠?
제목 | 글쓴이 | 날짜 |
---|---|---|
제로보드 분석 -1- [4] | 제키드+_+)/ | 2002.02.21 |
제로보드 분석 -2- [2] | 제키드+_+)/ | 2002.02.22 |
제로보드 상황판때기(?) 만들기... [9] | _a_SPD_a_ | 2002.05.28 |
php 와 flash 의 연동을 이용한 제로보드 최근글 추출...(소스) | 주현석 | 2002.06.05 |
제로보드로 유료 사이트 만들기 (서론) [6] | 한꼬마 | 2002.10.28 |
제로보드로 유료 사이트 만들기 (결제 테이블) [2] | 한꼬마 | 2002.10.30 |
제로보드로 유료 사이트 만들기 (회원 db 수정) 수정 #1 [7] | 한꼬마 | 2002.10.31 |
제로보드로 유료 사이트 만들기 (폼만들기) [3] | 한꼬마 | 2002.11.06 |
제로보드로 유료 사이트 만들기 (결제 정보 저장) [1] | 한꼬마 | 2002.11.06 |
제로보드 코멘트 수정 기능 구현!! [13] | teslaMINT | 2003.01.28 |
제로보드식 에러페이지 만들기 [2] | .zeve | 2003.02.04 |
제로보드 스킨들이 어느 게시판에 쓰이는지 알아보는 소스 [12] | teslaMINT | 2003.02.11 |
제로보드 + MSN 메신저 (작성글에 리플이나 코멘트가 달리면 MSN으로 알려준다?) [18] | HungryMania | 2003.08.01 |
제로보드회원의 포인트 랭킹 체크하기 [13] | 전원주 | 2003.11.15 |
한꼬마의 제로보드 활용방법 (로그인 값 알아 보기) [3] | 한꼬마 | 2003.11.20 |
한꼬마의 제로보드 이용법 (sql로 테이블 호출) [2] | 한꼬마 | 2003.11.26 |
제로보드회원의 포인트 랭킹 체크하기 sql 정리 [4] | 한꼬마 | 2003.11.26 |
제로보드 인크루드시 $DOCUMENT_ROOT 참조 [7] | 이경훈 | 2004.01.14 |
한꼬마의 제로보드 활용법 (게시물 추출하기) [4] | 한꼬마 | 2004.02.17 |
제로보드 data 폴더 일괄적으로 소유권 변경 스크립트 [2] | 라지엘 | 2002.07.01 |