웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
문자열 길이(byte)에 따라 자르기...
2002.10.11 02:44
아래는 삽입할 소스입니다.
===========================================================
function cutStr(str,limit){
var tmpStr = str;
var byte_count = 0;
var len = str.length;
var dot = "";
for(i=0; i<len; i++){
byte_count += chr_byte(str.charAt(i));
if(byte_count == limit-1){
if(chr_byte(str.charAt(i+1)) == 2){
tmpStr = str.substring(0,i+1);
dot = "...";
}else {
if(i+2 != len) dot = "...";
tmpStr = str.substring(0,i+2);
}
break;
}else if(byte_count == limit){
if(i+1 != len) dot = "...";
tmpStr = str.substring(0,i+1);
break;
}
}
document.writeln(tmpStr+dot);
return true;
}
function chr_byte(chr){
if(escape(chr).length > 4)
return 2;
else
return 1;
}
===========================================================
사용은 문자열을 출력할 곳에 <script>cutStr("길이가 긴 원래의 문자열",5)</script>와 같이 써주시면 바이트 단위로 자르고 한글과 같이 2byte가 되는 글자는 1byte줄여서 출력합니다.
조금이라도 서버에 부하를 줄이고자 짜낸 꽁수입니다. ㅡㅡ;;
===========================================================
function cutStr(str,limit){
var tmpStr = str;
var byte_count = 0;
var len = str.length;
var dot = "";
for(i=0; i<len; i++){
byte_count += chr_byte(str.charAt(i));
if(byte_count == limit-1){
if(chr_byte(str.charAt(i+1)) == 2){
tmpStr = str.substring(0,i+1);
dot = "...";
}else {
if(i+2 != len) dot = "...";
tmpStr = str.substring(0,i+2);
}
break;
}else if(byte_count == limit){
if(i+1 != len) dot = "...";
tmpStr = str.substring(0,i+1);
break;
}
}
document.writeln(tmpStr+dot);
return true;
}
function chr_byte(chr){
if(escape(chr).length > 4)
return 2;
else
return 1;
}
===========================================================
사용은 문자열을 출력할 곳에 <script>cutStr("길이가 긴 원래의 문자열",5)</script>와 같이 써주시면 바이트 단위로 자르고 한글과 같이 2byte가 되는 글자는 1byte줄여서 출력합니다.
조금이라도 서버에 부하를 줄이고자 짜낸 꽁수입니다. ㅡㅡ;;
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
카운터를 만들어봅시다~ (수정본) [181] | zero | 2000.03.08 |
MYSQL Query의 간단한 사용법 [82] | zero | 2000.03.06 |
새로운 뉴스티커 [1] | 아렌티 | 2006.04.25 |
문자열 길이(byte)에 따라 자르기... | 행복한고니 | 2002.10.11 |
textarea 입력받는 글자수 제한하는 스크립트 [5] | 오기 | 2002.01.17 |
자동 스크롤 메뉴 (끄기 기능, 무한 스크롤 X) [6] | ☺심심 | 2004.05.02 |
레이아웃 편집, 게시판 상/하단 내용에 위젯 스타일 적용하기 [2] | LutZ | 2010.09.12 |
큐브리드(CUBRID) 초보자 학습 자료 및 유용한 링크 정리 | 면스판 | 2010.11.09 |
큰 파일의 썸네일이 안생기는 경우 해결방법(수정) [12] | 얼터 | 2008.03.15 |
까오천사님의 만기일 팁을 1.2.4에 맞게 수정했어요. [15] | 도파 | 2009.08.27 |
파일 첨부 에러로 고생하시는 분 [2] | celli29 | 2010.05.11 |
회원약관 추가 [7] | 애치티 | 2009.01.15 |
레이아웃 삽입 후 최근 설문조사 가져오기 | ilovesyr | 2010.05.18 |
확장변수 다중선택에서 체크박스의 선택개수를 제한하기 [5] | 우야꼬 | 2008.05.30 |
회원에게 만기일 주기(1원짜리 팁) [17] | 까오천사 | 2007.11.12 |
APM_Setup 7 사용자중에서 첨부 파일 업로드시 100%에서 사라지는 문제 [2] | 레드파카 | 2010.01.04 |
Apache,PHP,MySQL,Zend,OpenSSL,PEAR 설치 메모 [1] | 엘카 | 2009.12.03 |
첨부파일이 용량에 따라 등록되기도 하고 안되기도 할 때 해결방법 (웹호스팅) [1] | 꽃들 | 2010.01.02 |
최신 댓글 보여주는 기능에 관련해 | 손정호547 | 2009.12.11 |
제로보드XE 외부출석부 [1] | noirzo | 2009.01.18 |