rad brytning

ASP

12 svar · 269 visningar · startad av JonasT

Medlem sedan dec. 2001148 inlägg
Trådstart#1

Hur gör man för att få:
<%=rs("message")%>
Att efter ett visst antal bokstäver (antalet som jag anger) så ska "message" fortsätta på en ny rad....Tacksam för svar

Medlem sedan dec. 19998 577 inlägg
#2

Det besvarades för bara några dagar sedan, ta en sökning i detta forumet så hittar du ditt svar...

Medlem sedan dec. 200012 464 inlägg
#3
<% 
antal = 60
message = rs("message")
response.write left(message,antal) & "<br>" & mid(message,antal)
%>
Medlem sedan dec. 2001148 inlägg
#4

Tack så mycket

Medlem sedan dec. 2001148 inlägg
#5

Humm..nej de blev ngt fel, det fungerar bara på rad 1 om man skriver mer än 1 rad som radbryts det itne....någon som vet varför?

Medlem sedan dec. 200012 464 inlägg
#6

Om du vill ha ny rad efter exakt vart 60:e tecken.

<%
antal = 60
offset = 1
message = rs("message")
l = len(message)
while l > 0
  response.write mid(message,offset,antal) & "<br>"
  offset = offset + antal
  l = l - antal
wend

Det blir nog inte så snyggt då radbrytningen kan komma var som helst inom ett ord.

Om man vill ha det brytning så att det blir på ett mellanslag så kan man göra så här kanske

antal = 60
message = rs("message")
a = split(message," ")
p = 0
for i = 0 to ubound(a)
  p = p + len(a(i)) 
  response.write a(i) 
  if i < ubound(a) then
     response.write " "
     p = p + 1
  end if
  if p >= antal then 
     response.write "<br>"
     p = 0
  end if
next
Medlem sedan dec. 2001148 inlägg
#7

Men om någon vill spamma eler bobma en gästbok och bara håller in en bokstav..så blir det ju iongen rad bryning..då blir det en jätte lång rad, som då förstör sidan.

Medlem sedan jan. 20013 341 inlägg
#8

Det här funkar alldeles utmärkt för mig:

<%
Response.Write Strang(rs("message"))

Function Strang(ByVal OriginalString)
		OriginalString = "" & OriginalString

		intMaxLength = 45
		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
%>
Medlem sedan dec. 2001148 inlägg
#9

Men asså <%=Strang(rs("message"))%>
Function Strang(ByVal OriginalString)
OriginalString = "" & OriginalString

Jag kan itne sätta ind et för det liger redan inom <% %> sånna då kan jag inte ha <%=Strang(rs("message"))%>

Medlem sedan jan. 20013 341 inlägg
#10

Sorry, fixade koden ovan

Medlem sedan dec. 2001148 inlägg
#11

Tack så mycket för hjälpen

Medlem sedan dec. 2001148 inlägg
#12

Får fel på rad 69 och där står det:Function Strang(ByVal OriginalString)
vad kan avar fel?

Medlem sedan jan. 20013 341 inlägg
#13

Du måste lägga själva funktionen utanför alla loopar, t ex i början eller slutet av dokumentet. Sedan är det bara att kalla på funktionen var du vill i dokumentet!

289 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
158 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)