웹마스터 팁
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
^^ -
좋은 팁 감사합니다. ^^
-
적용해 보니 기존의 문자수보다 반정도만 출력되는군요.
그런데 기존의 자르는방법과 차이점이 무엇입니까.
이것을 적용하니 모든 위젯과 게시판들의 문자수를 다 조절해야 되는데.... -
제가 답글을 적어보네요.
예전에는 한글과 영문의 길이차이가 있었는데 이 팁을 적용하니 거의 같은 길이로 자르네요.
그래서 모양새이야기를 하셨구나.
일일이 문자수를 바꾸어 주어야 하지만 좋은팁입니다.
감사합니다. -
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 이상에서는 이미 포함된 거라 직접 안 해도 되는거죠?
제목 | 글쓴이 | 날짜 |
---|---|---|
간편해진 페이지 수정법
![]() | coll | 2007.11.16 |
<head> 태그안에 임의의 내용을 넣는 방법 [1] | 발돋움 | 2007.11.16 |
이미지 갤러리 셀렉트박스 문제 [1] | 공작대천사 | 2007.11.14 |
[수정]업로드된 그림 자동출력 [6] | 소마세월 | 2007.11.13 |
알바트로스 적용후 검색하는 곳에 댓글과 태그 검색 업션 넣기 [1] | 비밀얌 | 2007.11.13 |
쪽지 수신 음성 알림
[19]
![]() | Simulz | 2007.11.13 |
회원에게 만기일 주기(1원짜리 팁) [17] | 까오천사 | 2007.11.12 |
확장변수에서 본문 입력 빼기
[10]
![]() | Diver | 2007.11.12 |
통합검색 버그 style 수정 [2] | 소마세월 | 2007.11.11 |
외부 문서에서 회원 정보 얻는 방법 [11] | 소마세월 | 2007.11.10 |
첨부파일 기능에 대한 짧은 정보 [3] | 고라리 | 2007.11.09 |
제로보드 2.3 에서 2.5 업그레이드 방법 | 도토리나무 | 2007.11.09 |
제로보드 2.3 에서 2.5 변경사항 데이터 테이블 구조 변경사항 체크를 정리해봅니다. [4] | 도토리나무 | 2007.11.09 |
"이 게시물을..." 추천/비추천/신고 메뉴를 버튼으로
[28]
![]() | xe촙5 | 2007.11.08 |
메뉴에 마우스 갖다대면 뜨는 메뉴 만드는 방법 [25] | 소마세월 | 2007.11.07 |
레벨 아이콘이 제대로(찌그러지는 등) 출력되지 않을 때 수정방법 | 必得力 | 2007.11.07 |
(08년 1월2일수정)0.2.3이후 최근글에 공지사항을 제외시키고자할 경우 [11] | 포레버 | 2007.11.07 |
완전 초보도 확장 변수를 이용해 게시판 개조할수잇다!! [4] | 쿤. | 2007.11.06 |
SVN 의 사용 방법 [3] | preware | 2007.11.06 |
글을 읽을때마다 조회수 증가 하게 하는 팁 [19] | 비밀얌 | 2007.11.06 |