webForumDet fria alternativet

Hjälp med htmlformatering och replacefunktion

ASP

14 svar · 2 007 visningar · startad av bikic

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

Hej!

Jag har en utmaning vad gäller att ersätta vissa htmlformateringar när man postar ett inlägg, likt detta forum.

Jag har en textarea med en htmleditor, där man kan lägga till bold, italic osv. Dessa läggs in på samma sätt som man gör i detta forum med [bold][/bold], [italic][/italic] osv.

Dessa är ju inga problem att ersätta med en enkel replacefunktion i asp. Men om jag lägger till en länk [URLLL="http://www.webforum.nu"]länknamn[/URLLL] s blir det inte lika lätt att ersätta.

Hur kan man fixa detta? Kan man även ha flera attributer i en sådan funktion. Exempel: [URLLL link="" title="" id=""]länknamn[/URLLL]

Mycket tacksam för svar!

Medlem sedan juni 20019 519 inlägg
#2

Sök på regex på forumet så kommer du få allt du behöver.

Medlem sedan juni 2006261 inlägg
#3

Hittade ett inlägg här på sidan! Kanon! Exakt vad jag ville ha.

Medlem sedan juni 2006261 inlägg
Medlem sedan juni 2006261 inlägg
#5

Är tillbaka i ämnet.

Hittade som sagt detta på en sida, tack vare länken ovan.


<%
Function Reggex(strString, strPattern, strReplace)

	Dim RE: Set RE = New RegExp

	With RE
		.Pattern = strPattern
		.Global = True
		Reggex = .Replace(strString, strReplace)
	End With
	
End Function

Function bbC(strString)
	strString = Replace(strString, "&", "&amp;")
	strString = Replace(strString, "<", "&lt;")
	strString = Replace(strString, ">", "&gt;")
	strString = Replace(strString, """", "&quot;")

	strString = Reggex(strString, "\[url=([^\]]+)\](.*?)\[\/url\]", "<a href=""$1"" title="""">$2</a>")

	bbC = strString
End Function
%>

[url=http;//www.nicke.com]Besök Nickes sida[/url]

=

<a href="http;//www.nicke.com">Besök Nickes sida</a>

Jag har ett litet dilemma. Om man av någon anledning lyckas få in ett mellanrum (space) direkt efter eller innan så ersätter den inte alls.

Vad beror detta på och hur kan man lösa detta?

Medlem sedan juni 20019 519 inlägg
#6

Vad är det för sträng du har problem med, och kör _ eller liknande på ditt exempel gjorde ett snabbt test om jag förstod dig: http://voigt.se/sandbox/wf/bikic/regex/ är det detta du hade problem med?

Medlem sedan juni 2006261 inlägg
#7

Nej inte så, så här:

[URLL=http://www.webforum.nu] länk till webforum.nu [/URLL]

Om man har mellanrum innanför URL-taggen.

Medlem sedan juni 20019 519 inlägg
#8

fungera för mig: http://voigt.se/sandbox/wf/bikic/regex/ har inte gjort några ändringar på båda funktionerna. Är du säker på att det är mellanslag som ställer till det för dig? Var är det för sträng exempel som inte fungera för dig?

Medlem sedan juni 2006261 inlägg
#9

Nu när du säger det så är det inte mellanrum utan enterslag som ställer till det.

[en-funktion=#action]

text text

[/en-funktion]

Nu måste det skrivas:

[en-funktion=#action]text text[/en-funktion]

Medlem sedan juni 20019 519 inlägg
#10

Det är inte konstigt

. => Match any single character that is not a line break character.

byt ut . till [\s\S]

Medlem sedan juni 2006261 inlägg
#11

Snyggt! Tack o bock!

Ha en trevlig fredag!

Medlem sedan juni 2006261 inlägg
#12

Om man nu vill lägga till ytterligare en attribut - hur gör man då?

Ex.

[link=http://www.webforum.nu title=ett bra forum]webforum.nu[/link]

Medlem sedan juni 20019 519 inlägg
#13

Är det alltid ett attribut?

Medlem sedan juni 2006261 inlägg
#14

Nej det behöver det nödvändigtvis inte vara.

Medlem sedan juni 20019 519 inlägg
#15
strString = Reggex(strString, "\[url=(.*?)(?: title=(.*?))?\](.*?)\[\/url\]", "<a href=""$1"" title=""$2"">$3</a>")
254 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)