You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.5 KiB
Plaintext

function mBreakupWordsLongerThanMax(byval vstrSentence, byval vlngMaxWordLength)
Dim lngIndex,strNextWord,strOutput
Dim arrWords
lngIndex=0
'get words into array
arrWords=split(vstrSentence," ")
'go through words
strOutput=""
'Response.Write "UBound(arrWords)" & UBo
'
' und(arrWords)
For lngIndex = 0 To UBound(arrWords)
strNextWord=arrWords(lngIndex)
'check if > max
if len(strNextWord > vlngMaxWordLength) Then
'> max
strOutput=strOutput & mSplitWord(strNextWord,vlngMaxWordLength)
Else
'<= max
strOutput=strOutput & strNextWord
End if
Next
'set return
if right(strOutput,1)=" " Then
'get rid of rightmost space
mBreakupWordsLongerThanMax=mid(strOutput,1,len(strOutput)-1)
Else
'return all
mBreakupWordsLongerThanMax=strOutput
End if
End function
function mSplitWord(byval vstrWord, _
byval vlngLength)
'*********************************
'purpose:split word
'inputs: vstrWord--word to split
' vlngLength--length to split at
'*********************************
Dim strOutput,lngIndex
strOutput=""
For lngIndex = 1 To len(vstrWord) step vlngLength
strOutput=strOutput & _
" " & mid(vstrWord,lngIndex,vlngLength)
Next
'set return
mSplitWord= mid(strOutput,2) & " "
End function