webForumDet fria alternativet

ordlängd

ASP

15 svar · 263 visningar · startad av MaxPayne

Medlem sedan jan. 200218 inlägg
Frågan#1

Hur gör man om man vill att det ska bli brytning på lååååååååååååååååååååååååååååååååååååååååååååååååååånga ord i en gästbok?

Medlem sedan jan. 200218 inlägg
#2

hittade det här http://www.webforum.nu/download/script/funktioner.txt så glöm frågan så länge, återkommer med frågor om det sen :)

Medlem sedan jan. 200218 inlägg
#3

Då var det dags igen då :)

Kan jag i den här raddan:

<%=radbyte(Server.HTMLEncode(recset("msg")))%>

anropa denna funktion också:

Function Shorter(strText)
	arrText = Split(strText, " ")
	
	For counter = 0 To uBound(arrText)
		If Len(arrText(counter)) > 50 then
			If newText <> "" then
				newText = newText & " " & Left(arrText(counter), 50) & " " & Right(arrText(counter), Len(arrText(counter))-50)
			Else
				newText = Left(arrText(counter), 50) & " " & Right(arrText(counter), Len(arrText(counter))-50)
			End If
		Else
			If newText <> "" then
				newText = newText & " " & arrText(counter)
			Else
				newText = arrText(counter)
			End If
		End If
	Next
	
	Shorter = newText
End Function

'alltså typ:

<%=radbyte&Shorter(Server.HTMLEncode(recset("msg")))%> ??

Eller hur göra annars?

Funktion radbyte ser ut såhär:

<% function radbyte(str)
radbyte = Replace(str, vbCrLf, "<br>" & vbCrLf)
end function %>
Medlem sedan juni 200032 967 inlägg
#4

Det borde inte vara några större problem. Prova detta:

<%=radbyte(Shorter(Server.HTMLEncode(recset("msg"))))%>

Mvh,

Medlem sedan jan. 200218 inlägg
#5

Går det att lägga in någon form av loop i själva funktionen eller? För som det är nu fungerar det, men den bryter bara vid femtio en enda gång, så då är ju funktionen aningen onödig i så fall eftersom man kan hålla nere tangenten länge och få samma effekt.

Skickar med lite mera av koden..

<%
	set recset = server.createobject("ADODB.recordset")
	visa = "SELECT * FROM index ORDER BY ID desc"
	recset.open visa, connect, adopenstatic, adlockoptimistic
	steg = request.querystring("page") * msgpp - msgpp

	count = 0
	on error resume next
	recset.move steg
	do until recset.eof OR count = msgpp
%>

<%=radbyte(Shorter(Server.HTMLEncode(recset("msg"))))%> 

<% 
	count = count -- 1
	recset.movenext
	loop

	sql= "SELECT Count (ID) AS msgs FROM index"
	set recset = connect.execute(sql)

	if count = "" then 
	count = "0"
	meddelande = "Inga meddelanden"
	end if
%>
<%=meddelande%>
Medlem sedan jan. 200218 inlägg
#6

Ingen som vet?

Medlem sedan jan. 200218 inlägg
#7

Det stod ju faktiskt såhär i kommentarerna till det skriptet:

'# str = "ett jäääääättelångtordlängreänfemtioteckensomintekommerskrivasut helt
'# Response.Write Shorter(str)
'#
'# Skriver ut de 50 första tecknen av ordet, ett mellanslag, [b]och sen resten av ordet[/b]
Function Shorter(strText)
osv...

Så jag antar att det gör vad man säger till det, men så vill ju inte jag ha det! Jag vill att resten av ordet, om resten är mer än femtio, också ska kapas av igen, och igen.... Nog måste väl det vara möjligt eller?

Medlem sedan juni 200032 967 inlägg
Medlem sedan jan. 200218 inlägg
#9

Tack, men jag förstår ändå inte varför inte funktionen funkar för mig, jag har ju lagt den utanför alla loopar, ovanför alla html-taggar. och anropar den med koden jag fick.

Den funkar ju som sagt så pass att den bryter en gång, men inte flera..hmm, är väl lite trög antagligen :)

Medlem sedan juni 200032 967 inlägg
#10

Hur ser din kod ut nu?

Medlem sedan jan. 200218 inlägg
#11

Nåt sånt här!(med reservation för att jag städat lite för mycket)

'inkluderar adovbs.ink..
<% 
function radbyte(str)
radbyte = Replace(str, vbCrLf, "<br>" & vbCrLf)
end function 

Function Shorter(strText)
	arrText = Split(strText, " ")

	
	For counter = 0 To uBound(arrText)
		If Len(arrText(counter)) > 50 then
			If newText <> "" then
				newText = newText & " " & Left(arrText(counter), 50) & " " & Right(arrText(counter), Len(arrText(counter))-50)
			Else
				newText = Left(arrText(counter), 50) & " " & Right(arrText(counter), Len(arrText(counter))-50)
			End If
		Else
			If newText <> "" then
				newText = newText & " " & arrText(counter)
			Else
				newText = arrText(counter)
			End If
		End If
	Next
	
	Shorter = newText
End Function

%>

'==========================================================
<%
	set recset = server.createobject("ADODB.recordset")
	visa = "SELECT * FROM index ORDER BY ID desc"
	recset.open visa, connect, adopenstatic, adlockoptimistic
	steg = request.querystring("page") * msgpp - msgpp

	count = 0
	on error resume next
	recset.move steg
	do until recset.eof OR count = msgpp
%>

Namn: 
<%
	if recset("mail") = "" OR recset("mail") = "-" then
%> 
 <b><%=Server.HTMLEncode(recset("namn"))%></b>
<%
	else
%>
<a href=mailto:<%=recset("mail")%>><b><%=Server.HTMLEncode(recset("namn"))%></b></a>
<%
	end if
%>
<br>
<%
	if recset("hemsida")<> "" then
%>
sida: <%=Server.HTMLEncode(recset("hemsida"))%><br>
<%
	end if

%>
Skickat: <i><%=Server.HTMLEncode(recset("datum"))%></i>

<%'=radbyte(Server.HTMLEncode(recset("msg")))%>
<%=radbyte(Shorter(Server.HTMLEncode(recset("msg"))))%> 

<% 
	count = count -- 1
	recset.movenext
	loop

	sql= "SELECT Count (ID) AS msgs FROM index"
	set recset = connect.execute(sql)

	if count = "" then 
	count = "0"
	meddelande = "Inga meddelanden"
	end if
%>
<%=meddelande%>

Antal meddelande: <b><%=x%></b>

<%
else
response.redirect "default.asp?page=1"
end if%>
Medlem sedan juni 200032 967 inlägg
#12

Har du provat aleborgs eller LarsGs funktion i tråden jag länkade till?

Mvh,

[Redigerat av @nders den 21 jan 2002]

Medlem sedan jan. 200218 inlägg
#13

nej inte ännu, men dom bryter väl raden oavsett om tangenterna trycks ner länge?

Medlem sedan juni 200032 967 inlägg
#14

Vad vill du ha egentligen?

Medlem sedan jan. 200218 inlägg
#15

tvinga radbryt när någon försöker paja gästboken genom att hålla nere en tangent så det blir ett meeeeeeegalångt ord :)

Medlem sedan feb. 20001 590 inlägg
#16

Begränsa då storleken på inlägg, tex 400 tecken.

Sedan kan man med olika funktioner "fixa" och "trixa" med texten

/T

------------------
Jensen Ambassadör, mitt bästa köp! www.jensen.no

279 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)