bikicMedlem sedan juni 2006261 inlägg 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!
Sök på regex på forumet så kommer du få allt du behöver.
bikicMedlem sedan juni 2006261 inlägg Hittade ett inlägg här på sidan! Kanon! Exakt vad jag ville ha.
bikicMedlem sedan juni 2006261 inlägg bikicMedlem sedan juni 2006261 inlägg Ä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, "&", "&")
strString = Replace(strString, "<", "<")
strString = Replace(strString, ">", ">")
strString = Replace(strString, """", """)
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?
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?
bikicMedlem sedan juni 2006261 inlägg 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.
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?
bikicMedlem sedan juni 2006261 inlägg 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]
Det är inte konstigt
. => Match any single character that is not a line break character.
byt ut . till [\s\S]
bikicMedlem sedan juni 2006261 inlägg 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]
Är det alltid ett attribut?
bikicMedlem sedan juni 2006261 inlägg Nej det behöver det nödvändigtvis inte vara.
strString = Reggex(strString, "\[url=(.*?)(?: title=(.*?))?\](.*?)\[\/url\]", "<a href=""$1"" title=""$2"">$3</a>")