webForumDet fria alternativet

Klurig radbrytning?

ASPur ASP

8 svar · 277 visningar · startad av ikolito

Medlem sedan okt. 200055 inlägg
Frågan#1

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.

------------------
-- alexander karlsson

Medlem sedan dec. 19996 721 inlägg
#2

Tror att frågan varit upp ett par gånger här. Sök lite så hittar du säkert något.

mvh

Medlem sedan okt. 200055 inlägg
#3

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.

------------------
-- alexander karlsson

Medlem sedan mars 20007 896 inlägg
#4
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.
------------------
SPiN, bjorne.w@telia.com

[Redigerat av SPiN den 22 dec 2000]

Medlem sedan okt. 200055 inlägg
#5

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å "

------------------
-- alexander karlsson

Medlem sedan mars 20007 896 inlägg
#6

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

------------------
SPiN, bjorne.w@telia.com

Medlem sedan okt. 200055 inlägg
#7

den här funktionen bryter ju bara raden första gången(första raden alltså).. :/

------------------
-- alexander karlsson

Medlem sedan nov. 200021 inlägg
#8

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 ;Þ

Medlem sedan mars 20007 896 inlägg
#9

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 :)

------------------
SPiN, bjorne.w@telia.com

127 ms totalt · 3 externa anrop · v20260731065814-full.8a4e7caf
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)