웹마스터 팁
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
제목 | 글쓴이 | 날짜 |
---|---|---|
PHP 혼자 공부하기 - 10 :: 정규식 패턴 문법 [3] | 행복한고니 | 2003.04.15 |
PHP 혼자 공부하기 - 9 :: 정규식 함수 [3] | 행복한고니 | 2003.04.14 |
[동주아빠] PHP 게시판(21강) - 목록 보기(4) list.php 설명(中) | 손병목 | 2002.12.30 |
폼메일 --- 제로님 예전 폼메일 수정 변경.. [11] | uropa™ | 2002.12.27 |
Java Applet을 활용한 업로드시 전송률 확인하기.. | 아이쿠 | 2002.10.19 |
꼭 알아야 하는 4가지 쿼리문 | Mr. JH | 2002.08.22 |
누구나 만들수있는 게시판 [글목록 list.php 부분] [6] | Mr. JH | 2002.08.21 |
원격침입과 도스공격이 가능한 PHP 취약점 [11] | JunYa™ | 2002.07.24 |
php 와 flash 의 연동을 이용한 제로보드 최근글 추출...(소스) | 주현석 | 2002.06.05 |
[OsE=] 오스보드에 적용된 페이징 방법(알고리즘?) | OsE= | 2002.03.02 |
최근게시물 - 첫글은 내용까지, 다음글부터 목록만... [15] | СreдturЭ | 2001.04.16 |
공부용 방명록이에욥^^. 주석왕창(페이지분할등.기능있어욥~) [2] | 프리^^ | 2001.04.16 |
최근 게시물을 나타내는 원리와 방법 [55] | zero | 2000.03.06 |
교육용 메모장 #4 [18] | zero | 2000.07.10 |
카운터를 만들어봅시다~ (수정본) [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 |