webForumDet fria alternativet
Logga in / Bli medlem

Radbryte

ASP

11 svar · 308 visningar · startad av fundrusse

Medlem sedan jan. 2002286 inlägg
Trådstart#1

Detta har antagligen varit uppe flera gånger..

Men jag behöver en funktion som bryter rad när det har skrivits 50 tecken.. fast den ska bryta där mellan slaget senast var..
så att den inte bryter mitt i ordet..

Medlem sedan nov. 20017 144 inlägg
#2
 <% 
function cutoff(myString,myLenght) 
If not Len(myString) >= myLenght Then 
Response.write myString 
else 
antal = myLenght 
keyWords = split(myString," ") 
longString = 0 
For Each Word in keyWords 
longWord = Len(word) 
longString = cint(longString + longWord) 
if longString >= antal then 
Response.Write Word & "..." 
Exit For 
else 
Response.Write Word & " " 
end if 
Next 
End if 
End function 

'så här kan du skriva ut den: 
variabel = "här är en jätte lång text som ska kortas av efter 20 tecken..."&_ 
"för det är det som jag fyllt i där nere...det kan du ändra om du vill." 
Response.write cutoff(variabel,20) 
%> 
eller så här: 
<%=cutoff(variabel,20)%>
Medlem sedan jan. 2002286 inlägg
#3

okejj

nått i den stilen..
men det tar ju tvärstop efter de där punkterna.
all text skall ju komma med fast på olika rader.

Medlem sedan mars 20025 907 inlägg
#4
Function kort(strText) 
strText = Server.HTMLEncode(strText) 

intMaxLength = 50
arrString = Split(strText, " ")
For intIndex = 0 To UBound(arrString)
If Len(arrString(intIndex)) > intMaxLength Then
intSIndex = 0
While intSIndex < (Len(arrString(intIndex)) / intMaxLength)
splittOrd = splittOrd & Mid(arrString(intIndex), (1 + intSIndex * intMaxLength), intMaxLength) & "<br>"
intSIndex = intSIndex + 1
Wend
arrString(intIndex) = splittOrd
End If

strNewString = strNewString & arrString(intIndex) & " "
Next

kort = strNewString
end function

Denna koden (som jag fått från något inlägg här på wF) bryter vid närmsta mellanslaget innan tecken nummer 50. Finns det inget mellanslag alls så bryter den efter prick 50 tecken (kan vara praktiskt ibland)

Används ex. så här:
Response.write kort(variabel)

Medlem sedan jan. 2002286 inlägg
#5

hmm

verka inte få det till o funka riktigt.. hehe
den bryter inte :/

<%
Function kort(strText)
strText = Server.HTMLEncode(strText)

intMaxLength = 20
arrString = Split(strText, " ")
For intIndex = 0 To UBound(arrString)
If Len(arrString(intIndex)) > intMaxLength Then
intSIndex = 0
While intSIndex < (Len(arrString(intIndex)) / intMaxLength)
splittOrd = splittOrd & Mid(arrString(intIndex), (1 + intSIndex * intMaxLength), intMaxLength) & "<br>"
intSIndex = intSIndex + 1
Wend
arrString(intIndex) = splittOrd
End If

strNewString = strNewString & arrString(intIndex) & " "
Next

kort = strNewString
end function

test = "Hejsan detta script skall byta rad efter 20 tecken är det tänkt"
response.write kort(test)
%>

Medlem sedan juni 20003 076 inlägg
#6

kan man köra htmlencode?, då finns väl inga mellanslag heller!

Medlem sedan jan. 20013 341 inlägg
#7
Function Strang(ByVal OriginalString)
		OriginalString = "" & OriginalString

		intMaxLength = 20
		arrString = Split(OriginalString, " ")

		For intIndex = 0 To UBound(arrString)
			If Len(arrString(intIndex)) > intMaxLength Then
				intSIndex = 0
				While intSIndex < (Len(arrString(intIndex)) / intMaxLength)
					splittOrd = splittOrd & Mid(arrString(intIndex), (1 + intSIndex * intMaxLength), intMaxLength) & "<br>"
					intSIndex = intSIndex + 1
				Wend
				arrString(intIndex) = splittOrd
			End If

			strNewString = strNewString & arrString(intIndex) & " "
		Next

		Strang = strNewString
	End Function

Den här koden bryter om man skriver mångateckenpåradutanmellanrum
Går säkert att modifiera!

Medlem sedan mars 20015 287 inlägg
#8

fundrusse: Peeers kod bryter bara ord som är längre än det inskrivna antalet tecken. Men det skalll väl även det gå att modifiera.

Medlem sedan mars 20025 907 inlägg
#9

solbulle skrev:

fundrusse: Peeers kod bryter bara ord som är längre än det inskrivna antalet tecken. Men det skalll väl även det gå att modifiera.

Ojsan....taskigt fel. :r

Medlem sedan jan. 2002286 inlägg
#10

...

ja men jag vill ha att den bryter en mening typ..

för jag har ett papper som är typ 10cm brett som jag ska kunna skriva ut flera meningar på... nu har jag att den bryter efter ett visst antal tecken.. fast nu bryter den rätt i ett ord..

vill ha så att det blir hela ord...

Medlem sedan mars 20015 287 inlägg
#11

Posta den koden du kör idag, den kombinerat med Peeers kod borde ju göra susen.

Medlem sedan jan. 2002286 inlägg
#12

Hehe...
Utgå från att jag inte har nått..

256 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)