BB-codes --> MySQL inde i Reg.Exp. (ASP)
GoddagJeg har før fundet denne kode som jeg har omskrevet til, at håndtere en række simple bb-codes:
<%
Function bbcode_format(var)
Set reo = New RegExp
reo.Global = True
srch = array("\[b\](.*?)\[\/b\]", _
"\[i\](.*?)\[\/i\]", _
"\[u\](.*?)\[\/u\]", _
"\[village\]\((.*?)\|(.*?)\)\[\/village\]", _
"\[village\](.*?)\|(.*?)\[\/village\]", _
"\[center\](.*?)\[\/center\]", _
"\[img\](.*?)\[\/img\]", _
"\[url\](.*?)\[\/url\]", _
"\[url\=(.*?)\](.*?)\[\/url\]")
repl = array("<strong>$1</strong>", _
"<i>$1</i>", _
"<u>$1</u>", _
"<a class=""RedLink"" href=""http://warsofrome.dk/v1/Game/village/village_Overview.asp?xkoord=$1&ykoord=$2&village="& VHenter("id") &""">($1|$2)</a>", _
"<a class=""RedLink"" href=""http://warsofrome.dk/v1/Game/village/village_Overview.asp?xkoord=$1&ykoord=$2&village="& VHenter("id") &""">($1|$2)</a>", _
"<div align=""center"">$1</div>", _
"<a href=""$1""><img style=""border:none;"" src=""$1"" height=""200"" width=""250"" /></a>", _
"<a href=""$1"">$1</a>", _
"<a href=""$1"">$2</a>")
res = var
For i = LBound(srch) To UBound(srch)
reo.Pattern = srch(i)
res = reo.Replace(res, repl(i))
Next
Set reo = Nothing
bbcode_format = res
End Function
%>
Men.. Jeg har i tankerne, at udvide systemet til noget mere avanceret - jeg aner blot ikke hvordan.. Der er 2 ting jeg har i tankerne:
1. [player]BRUGERNAVN[/player]
Det systemet skal gøre med den øverste er, at lave et statement såsom:
Set brugere = net.execute("SELECT * FROM brugere WHERE username=BRUGERNAVN")
For så at lave selve bb-koden om til et link såsom:
<a href="player.asp?user=<%=brugere("id")%>">BRUGERNAVN</a>
Nogen der ved hvordan denne del er mulig?
2. [code][url]link[/url][/code]
I det ovenstående kunne jeg godt tænke mig, at systemet skulle give mig et output såsom:
[url]link[/url] --> UDEN at lave URL'en om til et link.
Ganske enkelt for, at kunne skrive koderne ind i [code][/code] - som så ikke bliver omdannet under ovenstående reg.exp...
Nogen der ved noget om dette?
Jeg håber der er nogen der kan hjælpe - der er tilbudt 200 point :)
På forhånd tak!
Med Venlig Hilsen
ASPAmatoer16