webForumDet fria alternativet

Ersätta flera vbCrLf

ASP

12 svar · 793 visningar · startad av leniz

Medlem sedan aug. 2001676 inlägg
Frågan#1

Hej!

Jag undrar om det finns något enkelt sätt att modifiera den här koden så att

vbCrLf = radbrytning
vbCrLf vbCrLf = nytt stycke
vbCrLf vbCrLf vbCrLf (eller ännu fler) = nytt stycke

Jag vill alltså inte att man ska kunna få större mellanrum i sin text än nytt stycke.

<script language=VBScript runat=Server>
Function Radbryt(rfix)

rfix = Replace(rfix,vbCrLf, "<br>")
Radbryt = rfix

End Function
</script>

Medlem sedan juni 20019 519 inlägg
#2

Med nytt stycke så menar du att det skall vara ett nytt <p> element då eller?

Eller är det bara två <br> du vill ha för nytt stycke?

Medlem sedan aug. 2001676 inlägg
#3

Hej hej! Jag skulle vilja ha 2 st <br> om det är 2 eller fler vbCrLf i koden

Medlem sedan juni 20019 519 inlägg
#4
Function Radbryt(rfix)
	With New RegExp
		.Global = True
		.Pattern = vbCrLf & "{2,}"
		rfix= .Replace("" & rfix, "<br><br>")
		Radbryt  = Replace(rfix,vbCrLf, "<br>")
	End With
End Function

något sådant med RegExp.

Medlem sedan aug. 2001676 inlägg
#5

Hm... vet inte om det är jag som lagt in det fel på något vis men jag får exakt samma resultat som innan...

Medlem sedan juni 20019 519 inlägg
#6

prova byt uttrycket till: "[\r\n]{3,}" istället för vbCrLf & "{2,}"

Medlem sedan aug. 2001676 inlägg
#7

Tyvärr hände inget då heller...

Medlem sedan juni 20019 519 inlägg
#8

Det är märkligt, jag kör exakt samma kod på:
http://voigt.se/sandbox/wf/newline/

och vad jag ser så är det inga problem.

Medlem sedan aug. 2001676 inlägg
#9

Oj, vad konstigt. Visst menade du så här:
<script language=VBScript runat=Server>
Function Radbryt(rfix)
With New RegExp
.Global = True
.Pattern = "[\r\n]{3,}"
rfix= .Replace("" & rfix, "<br><br>")
Radbryt = Replace(rfix,vbCrLf, "<br>")
End With
End Function
</script>

Medlem sedan juni 20019 519 inlägg
#10

Koden jag kör exakt är:

<form action="index.asp" method="post">
	<textarea name="fubar"></textarea>
	<input type="submit" />
</form>
<%
Function Radbryt(Byval rfix)
	With New RegExp
		.Global = True
		.Pattern = "[\n\r]{3,}"
		rfix = .Replace("" & rfix, "<br><br>")
		Radbryt = Replace(rfix,vbCrLf, "<br>")
	End With
End Function

If Len(Request.Form("fubar")) Then Response.Write Radbryt(Request.Form("fubar"))
%>

<script language> fungera väl sådär vad jag vet...

Medlem sedan aug. 2001676 inlägg
#11

Den vill bara inte, jag får nog ge upp :-)
Stort tack till dig för dina försök @->---

Medlem sedan juni 20019 519 inlägg
#12

kör du någon annan funktion innan dess, har ser indatan ut i funktionen som inte fungera? Du kanske kör någon WYSIWYG-javascript som rendera ut HTML osv?

Medlem sedan juni 200032 967 inlägg
#13

Jag sätter en hundring på att det beror på att webbplatsen körs på något annat än Windows/IIS.

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)