지정한 문자열 길이만큼 문자열을 반환하는 함수
ASP/TIP 2009. 11. 27. 16:5901.
<%
02.
Function
fnGetCutString(strString, intCutLen, strDiv)
03.
Dim
intLen
'// 문자열 길이
04.
Dim
intByte
'// byte 수
05.
Dim
strCutString
06.
Dim
strRes
07.
Dim
strChar
08.
Dim
intX
09.
intLen = 0
10.
intByte = 0
11.
strRes =
""
12.
intLen = Len(strString)
13.
14.
For
intX = 1 to intLen
15.
strChar =
""
16.
strCutString = Mid(strString, intX, 1)
'// 일단 1만큼 잘라서 strCutString에 저장한다.
17.
strChar = Asc(strCutString)
'// 아스키 코드값 읽어오기
18.
strChar = Left(strChar, 1)
19.
If
strChar =
"-"
Then
'// "-"이면 2바이트 문자임
20.
intByte = intByte + 2
21.
Else
22.
intByte = intByte + 1
23.
End
If
24.
If
intCutLen < intByte
Then
25.
'// 현재 문자열 byte 수가 지정한 byte 수보다 크면 For 문을 빠져나간다.
26.
strRes = strRes & strDiv
27.
Exit
For
28.
Else
29.
'// 현재 문자열 byte 수가 지정한 byte 수보다 작으면 strRes 에 잘라낸 문자열을 추가한다.
30.
strRes = strRes & strCutString
31.
End
If
32.
Next
33.
fnGetCutString = strRes
34.
End
Function
35.
36.
'// 함수 사용 예제
37.
Dim
strSubject
38.
strSubject =
"소비자를 중심으로 소비자의 심리를 이해하고 마케팅을 하는 고객지향적 마케팅 기법"
39.
40.
'// strSubject 변수에 지정된 문자열의 첫 40 byte 만 가져오고 문자열이 40byte 보다 크면 ".." 로 대체한다.
41.
Response.Write(fnGetCutString(strSubject, 40,
".."
))
42.
43.
'// "소비자를 중심으로 소비자의 심리를 이해하.." 가 화면에 출력된다.
44.
%>