webForumDet fria alternativet

Radbryte

11 svar · 306 visningar · startad av fundrusse

fundrusseMedlem sedan jan. 2002286 inlägg
#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..

Jesper TMedlem 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)%>
fundrusseMedlem 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.

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

fundrusseMedlem 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)
%>

doggelitoMedlem sedan juni 20003 076 inlägg
#6

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

aleborgMedlem 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!

solbulleMedlem 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.

PeeerMedlem 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

fundrusseMedlem 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...

solbulleMedlem sedan mars 20015 287 inlägg
#11

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

fundrusseMedlem sedan jan. 2002286 inlägg
#12

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

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