묻고답하기
조아라처럼 텍스트 용량 표시하는 방법 알려주세요.
2011.05.21 21:07
게시판 스킨의 write.php 를 뜯어서 코드를 넣어주면 될 것 같은 생각이 드는데......
게시판 본문에 글을 쓰잖아요. 그럼 그 글이 몇kb인지 표시해주는 기능을 넣고 싶어요.
일정 키로바이트 이상으로 커트라인 잡아야 하는 게 있어서요.
방법 아시는 분 계시면 답변 좀 부탁드리겠습니다.
예를 들어서...
번호 제목 글쓴이 날짜 용량
1 테스트 입니다. TEST 2011-5-20 11.2kb
보통 게시판 목록이 있으면 맨 오른쪽 용량 하고 아래 용량 표시를 할 수 있도록이요.
확장변수를 이용해야 할 것 같은데... 게시판은 보드EX를 사용하고 있습니다.
저건 글을 올리면 자동으로 용량이 계산되서 표시되어야 하는 거구요.
직접 수동으로 키로바이트를 확장변수에 입력하여 표시하는 방법을 알려달라는게 아님을 말씀드립니다.
'자동으로 표시'되는 방법 알려주세요.
자바스크립트 소스를 올립니다.
메모장에 붙여넣고 html파일로 변경해서 열어보세요
게시판에 적용하는 것은 연구를 해 보셔야 할 겁니다.
단지 목록보기에서만 보이겠다면 DB의 글 내용을 가져와서
크기를 계산해서 나타내면 될 것이고
글을 작성할 때 실시간으로 보이고 싶으면
좀 더 복잡해 지겠죠.....
한글이 깨지면 캐릭터셋을 설정하면 됩니다.
이건 단순히 질답형태로 답을 얻을 수 있는 것이 아닙니다.
소스 몇군데 수정해서 해결될 문제가 아니라는 것이죠
템플릿 언어로, 그리고 DB쿼리도 날려야 하고,
모듈로 만들어져야 할 내용입니다.
아무튼 참고하세요
<script type="text/javascript">
String.prototype.bytes = function() {
var str = this;
var l = 0;
for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 2 : 1;
return l;
}
function chk_byte()
{
var size_check = document.form1.input_text.value;
document.form1.size.value = size_check.bytes();
}
function check()
{
var size_check = document.form1.input_text.value;
if (size_check.bytes() > 100)
{
alert("작성글은 "+size_check.bytes()+" Byte 이며 100 Byte 이하로 입력할 것");
}
else
{
alert("작성글은 "+size_check.bytes()+" Byte 입니다.");
}
}
</script>
<form name='form1'>
<input type='text' name='input_text' value='' onKeyUP="javascript:chk_byte();" />
<input type='text' name='size' size='3' value='' readonly="readonly" />
<input type='button'+ ' value='Go' onclick='check()' />
</form>