웹마스터 팁
page_full_width">
/config/func.inc.php
201 라인부터 수정해 주시면 됩니다.
태터툴즈 블로그 사용할 때 쓰던건대...
자료 출처 : http://crizin.net/entry/태터툴즈-고쳐쓰기-2-문자열-정밀하게-자르기
제로보드 문자열 정교하게 자르기
2008.08.03 01:42
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | 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 이상에서는 이미 포함된 거라 직접 안 해도 되는거죠?
제목 | 글쓴이 | 날짜 |
---|---|---|
제로보드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 |