webForumDet fria alternativet

HJÄLP! problem med regexp!

ASP

10 svar · 301 visningar · startad av goovie

Medlem sedan juni 200440 inlägg
Frågan#1

jag har försökt nu i två dagar att fixa så man kan använda taggar som man kan använda när man skriver i artiklar, gästböker m.m. för att få tjock stil på texten när man skriver text mellan taggarna som t.ex. de här taggarna jag har testat massor men inte fått dett att funka:

scriptet är taget från joakimweb: scriptet

Medlem sedan nov. 20017 144 inlägg
#2

Välkommen till WF goovie!
http://www.webforum.nu/showthread.php?s=&postid=758944

Medlem sedan juni 200440 inlägg
#3

i vilken av filerna ska jag ha regexp i, jag har testat att ha de i båda samtidigt.

Medlem sedan apr. 20003 174 inlägg
#4

En variant..

Lägg regexp-koden i en funtion som du kan återanvända,
anropa sedan funktionen där du vill skriva ut din behandlade text.

[red]<%

Function makeOutput(str)
	str = trim(str)
	If Len(str) > 0 Then
		str = Replace(str, "<", "&lt;")     'Convert html-code to safe-code
		str = Replace(str, ">", "&gt;")     'Convert html-code to safe-code
		str = Replace(str, vbCrLf, "<br>")  'Convert form-brakes to html-brakes
		Set regExp = new regExp
			regExp.Global = True
			regExp.IgnoreCase = True
			regExp.Pattern = "\[b\]" : str = regExp.Replace(str, "<strong>")                                         'Convert to STRONG-style
			regExp.Pattern = "\[/b\]" : str = regExp.Replace(str, "</strong>")
			regExp.Pattern = "\[i\]" : str = regExp.Replace(str, "<em>")                                             'Convert to ITALIC-style
			regExp.Pattern = "\[/i\]" : str = regExp.Replace(str, "</em>")
			regExp.Pattern = "\[u\]" : str = regExp.Replace(str, "<span style=""text-decoration: underline;"">")     'Convert to UNDERLINE-style
			regExp.Pattern = "\[/u\]" : str = regExp.Replace(str, "</span>")
		Set regExp = Nothing
	End If
	makeOutput = str
End Function

%>

...

<%= makeOutput("String to convert..") %>[/red]
Medlem sedan juni 200440 inlägg
#5

jag gjorde som du sa (tror jag), jag hittade raden:
<%text = server.htmlencode(RecSet("innehall"))%>
<%= Replace(text,vbCrLf,"<br>")%>
och testade med:
<%= makeOutput("<%text = server.htmlencode(RecSet("innehall"))%>") %>
<%= Replace(text,vbCrLf,"<br>")%> och jag fick ett felmeddelande
vad gjorde jag fel?

Medlem sedan nov. 20017 144 inlägg
#6
<%= makeOutput(RecSet("innehall"))%>

r/ Såg att radbrytningsreplacen redan fanns där...

Medlem sedan apr. 20003 174 inlägg
#7

Byt ut detta:

[red]<%text = server.htmlencode(RecSet("innehall"))%>
<%= Replace(text,vbCrLf,"<br>")%>[/red]

Mot detta:

[red]<%= makeOutput(RecSet("innehall")) %>[/red]
Medlem sedan nov. 20017 144 inlägg
#8

Palle, detta:

		str = Replace(str, "<", "&lt;")     'Convert html-code to safe-code
		str = Replace(str, ">", "&gt;")     'Convert html-code to safe-code

Borde väl kunna ersättas av, str = server.htmlencode(str)?

Medlem sedan juni 200440 inlägg
#9

Tack för hjälpen, det funkar nu, men hur fixar jag det sen när jag ska fixa länkar.

och när jag ändå är på farten kan jag väl fråga hur ska man koda så att man kan välja om en artikel ska visas, som på gruvsjo länkskript där man måste godkänna först, så att den visas.

jag hittade Recset namn, av, datum

Medlem sedan apr. 20003 174 inlägg
#10

Jesper T >> Jo, om man så vill.. dock har det en tendens att bli helt fel om man jobbar med extended characters och UTF-8. ;)

ex. med Server.HTMLEncode: V&aring;ra &ouml;bor h&auml;r p&aring; &Ouml;land &auml;ro j&auml;ttesn&auml;lla!
ex. utan Server.HTMLEncode: Våra öbor här på Öland äro jättesnälla!

Medlem sedan nov. 20017 144 inlägg
#11

Palleman skrev:

Jo, om man så vill.. dock har det en tendens att bli helt fel om man jobbar med extended characters och UTF-8

...var inte så petig nu. ;)
Goovie du kan testa detta tillägg.

 <%

Function makeOutput(str)
	str = trim(replace(str,"http://",""))
	If Len(str) > 0 Then
		str = Replace(str, "<", "&lt;")     'Convert html-code to safe-code
		str = Replace(str, ">", "&gt;")     'Convert html-code to safe-code
		str = Replace(str, vbCrLf, "<br>")  'Convert form-brakes to html-brakes
		Set regExp = new regExp
			regExp.Global = True
			regExp.IgnoreCase = True
			regExp.Pattern = "\[b\]" : str = regExp.Replace(str, "<strong>")                                         'Convert to STRONG-style
			regExp.Pattern = "\[/b\]" : str = regExp.Replace(str, "</strong>")
			regExp.Pattern = "\[i\]" : str = regExp.Replace(str, "<em>")                                             'Convert to ITALIC-style
			regExp.Pattern = "\[/i\]" : str = regExp.Replace(str, "</em>")
			regExp.Pattern = "\[u\]" : str = regExp.Replace(str, "<span style=""text-decoration: underline;"">")     'Convert to UNDERLINE-style
			regExp.Pattern = "\[/u\]" : str = regExp.Replace(str, "</span>")
			regExp.Pattern = "\[URL\]([^\[]*)\[/URL\]"
			str = regExp.Replace(str, "<A HREF=""http://$1"" TARGET=""_blank"">http://$1</A>")
		Set regExp = Nothing
	End If
	makeOutput = str
End Function

%>
290 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
147 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
148 ms — ändringar (db)