设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP

可以把文章标题中的英文单词的首字母变成大写的函数

作者:佚名 出处:网络转载 时间:05-26 点击:

内容载入中...

 

<%

function PCase(strInput)
     'Variable declaration.
     Dim strArr
     Dim tmpWord
     Dim tmpString
     Dim last
     
     
     'Create an array To store Each word In the String separately.
     strArr = split(strInput," ")
     
     
     if ubound(strArr) > 0 Then
      For x = lbound(strArr) To ubound(strArr)
       'Set Each word To lower Case initially.
       strArr(x) = LCase(strArr(x))
     
       
       'Skip the unimportant words.
       Select Case strArr(x)
        Case "a"
        Case "an"
        Case "and"
        Case "but"
        Case "by"
        Case "for"
        Case "in"
        Case "into"
        Case "is"
        Case "of"
        Case "off"
        Case "on"
        Case "onto"
        Case "or"
        Case "the"
        Case "to"
        Case "a.m."
         strArr(x) = "A.M."
        Case "p.m."
         strArr(x) = "P.M."
        Case "b.c."
         strArr(x) = "B.C."
        Case "a.d."
         strArr(x) = "A.D."
        Case Else
        
         'Capitalize the first letter, but don't forget To take into account that
         'the String may be in Single or Double quotes.
         if len(strArr(x)) > 1 Then
          if mid(strArr(x),1,1) = "'" or mid(strArr(x),1,1) = """" Then
           tmpWord = mid(strArr(x),1,1) & Ucase(mid(strArr(x),2,1)) & mid(strArr(x),3,len(strArr(x))-2)
          Else
           tmpWord = Ucase(mid(strArr(x),1,1)) & mid(strArr(x),2,len(strArr(x))-1)
          End if
          strArr(x) = tmpWord
         End if
         
       End Select
       
       
       'The unimportant words may need To be capitalized if they follow a dash, colon,
       'semi-colon, Single quote or Double quote.
       if x > 0 Then
        if instr(strArr(x-1),"-") _
        or instr(strArr(x-1),":") _
        or instr(strArr(x-1),";") Then
         tmpWord = Ucase(mid(strArr(x),1,1)) & mid(strArr(x),2,len(strArr(x))-1)
         strArr(x) = tmpWord
        End if
       End if
       
      Next
     Else
      strArr(0) = LCase(strArr(0))
     End if
     
     
     'Make sure the first word In the array is upper case, but don't forget To take into account
     'that the String may be in Single or Double quotes.
     if mid(strArr(0),1,1) = "'" or mid(strArr(0),1,1) = """" Then
      tmpWord = mid(strArr(0),1,1) & Ucase(mid(strArr(0),2,1)) & mid(strArr(0),3,len(strArr(0))-2)
     Else
      tmpWord = Ucase(mid(strArr(0),1,1)) & mid(strArr(0),2,len(strArr(0))-1)
     End if
     strArr(0) = tmpWord
     
     
     'Also, make sure the last word In the array is upper case, but don't forget To take into account
     'that the String may be in Single or Double quotes.
     last = ubound(strArr)
     if mid(strArr(last),1,1) = "'" or mid(strArr(last),1,1) = """" Then
      tmpWord = mid(strArr(last),1,1) & Ucase(mid(strArr(last),2,1)) & mid(strArr(0),3,len(strArr(last))-2)
     Else
      tmpWord = Ucase(mid(strArr(last),1,1)) & mid(strArr(last),2,len(strArr(last))-1)
     End if
     strArr(last) = tmpWord
     
     
     'Rebuild the whole String from the array parts.
     For x = lbound(strArr) To ubound(strArr)
      tmpString = tmpString & strArr(x) & " "
     Next
     
     PCase = tmpString
    End function
%>

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息