본문 바로가기

ASP

ASP 문자열 바이트로 짜르기


문자열 자르는 함수입니다.
다른분들이 만들어 놓은 함수를 저에게 맞게 바꿔보았습니다.

문자열을 자르는 원리는 byte 수를 계산하여 byte수만큼 자르는 식입니다.
(모두들 그렇게 하죠?... ^^)


Function cutTitle(title, num)
dim i, sum, title_one, result
for i = 1 to len(title)
title_one = MID(title, i, 1)
if ASC(title_one)<0 then sumByte = sumByte + 2 else sumByte = sumByte + 1
if sumByte>num then result = result &"..." : exit for else result = result + title_one
next
cutTitle = result
End Function


'사용법1 - 길이를 10byte로 제한합니다.
response.write cutTitle("이곳은 자르고자 하는 문자열입니다.", 10)

'사용법2 - 길이를 20byte로 제한합니다.
title = "제목을 변수에 저장한 후 사용합니다."
response.write cutTitle(title, 20)





title_one = MID(title, i, 1)
넘어온 글제목(title)을 한글자씩 분리합니다.

if ASC(title_one)<0 then sumByte = sumByte + 2 else sumByte = sumByte + 1
아스키코드값이 영어는 양수, 한글은 음수로 나오므로...
한글일 경우에는 2바이트, 영어일 경우는 1바이트를 부여합니다.

if sumByte>num then result = result &"..." : exit for else result = result + title_one
sumByte(합산된 바이트수)가 자르고자 하는 길이(num)보다 크다면 "..."를 붙여줍니다.


유용하게 잘 사용하시기 바랍니다.
참, 이것은 익스플로러 5.5 이상만 지원됩니다.
내용출처 : http://www.sizz.net