Jag undrar om det är någon som kan hjälpa mig med att göra så att det blir radbrytning automatiskt om det blir för långa ord.. t ex om någon skriver ett sånt här inlägg i en gästbok "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" så blir ju normalt tablen förstörd, men jag vill ha en funktion som delar upp det på flera rader om det blir för långt.
Klurig radbrytning?
8 svar · 295 visningar · startad av ikolito
nej jag har sökt massor med den ända hjälp jag hittar är hur man gör vanlig radbrytnings encodning... inte hur man gör för att den ska avbryta vid för långa ord.
function bryt(sText)
sLen = Len(sText)
If sLen > 60 then
Response.Write Left(sText, 60) & "<br>" & Right(sText, sLen - 60)
Else
Response.Write sText
End If
End Function
myText = "hallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallå"
Response.Write bryt(myText)
Kom på att ovanstående kod bryter även hela meningar och rader = inge bra
Så här kan man lösa det:
myText = "Hej där jag vill bara säga hallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallå"
arrText = split(myText, " ")
countText = uBound(arrText) + 1
X = 0
Do Until X = countText
Response.Write bryt(arrText(X))
X = X + 1
Loop
Nu borde det funka
Notera att samma funktion används i koden nedan.
prövade det där men resultat blev detta att den tog bort alla mellanslag... alltså det blev såhär "Hejdärjagvillbarasägahallåhallåhallåhallåhallåhalfffffffffffffffflåhallåhallåhall
åhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallå "
Självklart det var klantigt av mig... så här borde det se ut:
function bryt(sText)
sLen = Len(sText)
If sLen > 60 then
Response.Write Left(sText, 60) & "<br>" & Right(sText, sLen - 60)
Else
Response.Write sText
End If
End Function
myText = "Hej där jag vill bara säga hallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallåhallå"
arrText = split(myText, " ")
countText = uBound(arrText) + 1
X = 0
Do Until X = countText
Response.Write bryt(arrText(X)) & " "
X = X + 1
Loop
den här funktionen bryter ju bara raden första gången(första raden alltså).. :/
Varför inte styra det hela i formuläret bara? Vore inte det en enkel lösning, eller har jag helt massupp*****t det hela?
textarea wrap=physical
Vill inte ha några taskiga svar nu ;Þ
Nej, jag har märkt att problemet inte är att den bara bryter första raden, utan den bryter juh bara ord, inte meningar... Därför kan längden på rader bli olika långa.
Hoppas du förstår min skumma förklaring