Forbedring ønskes
Følgende script skal lige forbedres en smule.<%
Function FixTag(strTag, lngMaxLength)
'Make sure all <BR> are written in capital letters
Replace strTag, "<br>", "<BR>"
strArr = Split(strTag, "<BR>")
For lngCount = LBound(strArr) To UBound(strArr)
If Len(strArr(lngCount)) > lngMaxLength Then 'We got a row that is bigger than allowed
strArr(lngCount) = FixRow(strArr(lngCount), lngMaxLength)
End If
Next
'Patch the tag together again, remove the trailing <BR>
For lngCount = LBound(strArr) To UBound(strArr)
strOut = strOut & strArr(lngCount) & ""
Next
FixTag = Left(strOut, Len(strOut))
End Function
Function FixRow(strText, lngMaxLength)
If Len(strText) > (2 * lngMaxLength) Then 'If the string is more than twice the length of maxlength, then we have to call the function again.
strRest = FixTag(Mid(strText, lngMaxLength), lngMaxLength)
strText = Left(strText, lngMaxLength - 1)
End If
For lngCount = (lngMaxLength) To 1 Step -1
If Mid(strText, lngCount, 1) = " " OR Mid(strText, lngCount, 1) = "-" Then
FixRow = Left(strText, lngCount) & "<BR>" & Mid(strText, lngCount + 1) & strRest
Exit Function
End If
Next
FixRow = Left(strText, lngMaxLength-1) & "<BR>" & Mid(strText, lngMaxLength) & strRest
End Function
%>
Problemet ligger i, at hvis man fx kalder den med en 50 tegns streng, og sætter 20 som max-længde, så sætter den kun eet <br> tag ind, og ikke 2 som er meningen.
Nogen som kan få den til at gøre det?