29. november 2004 - 11:42
Der er
2 kommentarer og
1 løsning
Linjeskift funksjon
Jeg har en funksjon som ikke virker helt som den skal!
Dette scriptet er i en dynamisk meny hvor brukernene selv kan legge inn menynavnet.
Menyen starter med ;nbsp
Hvis navnet er over 20 tegn uten mellomrom så vil jeg at den skal wrappe ordet etter 20 tegn og legge inn et -<br>;nbsp
Hvis navnet er over 20 tegn men med mellomrum så skal den legge inn <br>;nbsp der mellomrummet er og fjene det.
<%
Function AddNbsp(pInput)
Dim iBreak, strResult, iPos
iBreak = 20
If Len(pInput) >= iBreak Then
If Mid(pInput, 20, 1) <> " " Then
iPos = CInt(0 & InStr(20, pInput, " "))
If iPos > 0 Then
StrResult = Left(pInput, iPos) & "<br> " & Mid(pInput,iPos)
Else
strResult = Left(pinput, 20) & "<br> " & Mid(pInput,20)
End If
Else
strResult = Left(pinput, 20) & "<br> " & Mid(pInput,20)
End If
Else
strResult = pInput
End If
AddNbsp = strResult
End Function
%>
Kan noen hjelpe meg på vei?
29. november 2004 - 19:09
#1
Jeg bruger følgende hvis jeg vil bruge linieskift i en record, den sørger for at skifte til næste linie, men indsætter IKKE :
strIndhold = rs("indhold")
' Undersøger variblen strIndhold for Null værdien
If Not isNull(strIndhold) Then
strIndhold = Replace(strIndhold, vbCrLf, "<br>")
Response.Write strIndhold
End If
Venligst,
Daniel
30. november 2004 - 09:43
#2
//a2j
Det er ikke dette jeg er ute etter, det er en function som sjkker en lengden på vaiabelen og hvis den er kortere enn 20 tegn så skal man ikke gjøre noe. Hvis den er lengre en 20 tegn i et sammen satt ord så skal wrappe ordet på 19 tegn og sette inn -<br>;nbsp hvis lengden er over 20 tegn med flere ord så skal den wrappe før ordet som går over 20 tegn sette inn <br>;nbsp
Jeg er ganske nerme med den overstående function men den virker ikke helt som den skal. Prøv den så ser du hva jeg mener.
Eks:
Detteerenlinjemed20tegn
Skal bli:
Detteerenlinjemed20t-
egn
Eks:
Dette er en linje me-d 20 tegn
Skal bli:
Dette er en linje
med 20 tegn