ASP를 사용하시는 분들이면 언제나 문자열에 부딪치게 되죠 ㅎㅎ

그런데 웹엔 왠지 내용이 별로 인것 같아서

(저만의 베스트^^;;)깔꼼 한거 올립니다^^


써보시면 아실꺼라 생각하고 주석처리는 안하구


긴 것 부터 나열 하겠습니다^---^



'간단한 한글 문자열 자르기

subject = "아1'아'아'아'아아아아아아아아아아아아"

MaxLen = 10

IF Len(subject) > MaxLen Then

    sumByte = 1

    title_one = ""

    result = ""

    a = 1

    Do Until sumByte > MaxLen

        title_one = MID(subject, a, 1)

        If 0 =< Asc(title_one) Then

            sumByte = sumByte + 1

        Else

            sumByte = sumByte + 2

        End IF

        If sumByte > MaxLen Then

            result = result &"..."

        Else

            result = result + title_one

        End IF

    a = a + 1

    Loop

    subject = Replace(result, "''", "'")

    subject = Replace(subject, "<", "&lt;")

    subject = Replace(subject, ">", "&gt;")

Else

    subject = Replace(subject, "''", "'")

    subject = Replace(subject, "<", "&lt;")

    subject = Replace(subject, ">", "&gt;")

End IF

Response.write subject

Response.end





'깔끔 펑션 버전

Function StringCut(strtxt, MaxLen)

    Dim i, strLen, VarResult, Intcount, nVal

    strLen = Len(Trim(strtxt))

    If strtxt = "" Then

        VarResult = ""

    Else

        For i = 1 To strLen

            If i = 1 Then

                nVal = Asc(Left(Trim(strtxt), 1))

            Else

                nVal = Asc(Mid(Trim(strtxt), i, 1))

            End If

            If 0 =< nVal Then

                Intcount = Intcount + 2

            Else

                Intcount = Intcount + 1

            End If

            If MaxLen < Intcount Then

                VarResult = VarResult + "..."

                Exit For

            End If

        VarResult = VarResult + Mid(Trim(strtxt), i, 1)

        Next

    End If

    VarResult = Replace(VarResult, "''", "'")

    VarResult = Replace(VarResult, "<", "&lt;")

    VarResult = Replace(VarResult, ">", "&gt;")

    StringCut = VarResult

End Function





'완전 간단 버전

Function KoreanStringCut(strString)

    Dim intPos, strChar, intLen

    intLen = 0

    ' 한문자씩 비교한다.

    For intPos = 1 To Len( strString )

        strChar = Mid( strString, intPos, 1)

        ' 한글일 경우

        If Asc( strChar ) < 0 Then

            intLen = intLen + 2

        Else

            intLen = intLen + 1

        End If

    Next

    KoreanStringCut = intLen

End Function

'asp' 카테고리의 다른 글

VB 함수  (3) 2007.05.03
ASP에서 Class 이용하기  (2) 2007.05.03
프로시저 데이터 타입 정리  (0) 2007.05.03
ASP 오류 번호 정리  (0) 2007.05.03
SerVariables컬렉션 사용법  (1) 2007.05.03

+ Recent posts