29. november 2004 - 11:42Der 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 %>
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
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
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.