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..
11 svar · 306 visningar · startad av fundrusse
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..
<%
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)%>
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.
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)
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)
%>
kan man köra htmlencode?, då finns väl inga mellanslag heller!
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!
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.
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
...
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...
Posta den koden du kör idag, den kombinerat med Peeers kod borde ju göra susen.
Hehe...
Utgå från att jag inte har nått..