Trådstart#1 objRegExp.Pattern = "\[(kod)\](.*?)\[\/(kod)\]"
mess = objRegExp.Replace(mess,"<blockquote><font style=""font-size: 9px"">Kod:</font><hr class=""mess4"" size=""1""><font class=""time"">$2</font></font><hr class=""mess4"" size=""1""></blockquote>")
objRegExp.Pattern = vbCrLf & vbCrLf
mess = objRegExp.Replace(mess,"<br>")
koden fungera om jag skriver [.kod]test[./kod] på en rak linje men om jag skriver:
[.kod]
TEst
[./kod]
så blir det helt fel...
SselstamMedlem sedan aug. 20009 inlägg Byt ut (.*?) mot (\S+) istället ... det borde fungera.
Jag kör i mitt eget forum följande kod:
Function urlTag(strIn, strType)
Dim re, strOut
Set re = New RegExp
If strType = "tohtml" Then
re.Pattern = "\[url\](\S+)\[/url\]"
re.IgnoreCase = True
re.Global = True
strOut = re.Replace(strIn, "<a target=" & Chr(34) & "_blank" & Chr(34) & " href=" & Chr(34) & "$1" & Chr(34) & ">$1</a>")
Else
re.Pattern = "<a target=" & Chr(34) & "_blank" & Chr(34) & " href=" & Chr(34) & "(\S+)" & Chr(34) & "(\S+)</a>"
re.IgnoreCase = True
re.Global = True
strOut = re.Replace(strIn, "[url]$1[/url]")
End If
Set re = Nothing
urlTag = strOut
End Function
--
Andreas Selstam, dvdforum.nu
nope.. fungerade inte ...
BrimbaMedlem sedan dec. 19995 874 inläggVarför har du kod inom paranteser?
Ta bort dessa och anropa $1 istället.
har gjort det nu
men det hjälper inte för det 
SselstamMedlem sedan aug. 20009 inlägg Har du uppdaterat till senaste versionen av VBScript? 5.5 är den senaste (har jag för mig) och just regexp i tidigare versioner var otroligt buggigt.
Vilken version du kör kollar du lätt genom:
<%=ScriptEngine%><BR>
<%=ScriptEngineMajorVersion%><BR>
<%=ScriptEngineMinorVersion%><BR>
SsolbulleMedlem sedan mars 20015 287 inlägg Helt OT, men måste bara passa på att välkomna Andreas Selstam till WF. 
(fr en gammal dvdforumräv)
ingen som kan kanske veta???
SselstamMedlem sedan aug. 20009 inlägg Tja, koden som jag skrev vet jag fungerar (den används ofta) ... 
Det jag funderar på är om det finns några andra inställningsmöjligheter som kan vara påverkande, men det tror jag inte.
<%
Function encode(mess)
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
mess = Server.HTMLEncode(mess)
objRegExp.Pattern = "\[email=(")?(.*?)@(.*?)\1\](.*?)\[\/email\]"
mess = objRegExp.Replace(mess,"<a href=mailto:$2@$3 target=""_blank"">$4</a>")
objRegExp.Pattern = "\[email\](.*?)@(.*?)\[\/email\]"
mess = objRegExp.Replace(mess,"<a href=mailto:$1@$2 target=""_blank"">$1@$2</a>")
objRegExp.Pattern = "\[url=(")?([url]http://[/url])?(.*?)\1\](.*?)\[\/url\]"
mess = objRegExp.Replace(mess,"<a href=http://$3 target=""_blank"">$4</a>")
objRegExp.Pattern = "\[url\]([url]http://[/url])?(.*?)\1\[\/url\]"
mess = objRegExp.Replace(mess,"<a href=http://$2 target=""_blank"">$2</a>")
objRegExp.Pattern = "\[kod\](\S+)\[/kod\]"
mess = objRegExp.Replace(mess,"<blockquote><font style=""font-size: 9px"">Kod:</font><hr class=""mess4"" size=""1""><font class=""time"">$1</font></font><hr class=""mess4"" size=""1""></blockquote>")
objRegExp.Pattern = "\[color=(.*?)\](.*?)\[/color\]"
mess = objRegExp.Replace(mess,"<font color=$1>$2</font>")
objRegExp.Pattern = "\[(b|/b|i|/i|u|/u)\]"
mess = objRegExp.Replace(mess,"<$1>")
objRegExp.Pattern = vbTab
mess = objRegExp.Replace(mess," ")
objRegExp.Pattern = vbCrLf
mess = objRegExp.Replace(mess,"<br>" & vbcrlf)
objRegExp.Pattern = "\[citat\](.*?)\1\[\/citat\]"
mess = objRegExp.Replace(mess,"<blockquote><B style=""font-size: 9px"">Citat: </b><hr class=""mess4"" size=""1""><I>$1</I><hr class=""mess4"" size=""1""></blockquote>")
objRegExp.Pattern = "\[citat=(\S+)\](\S+)\[\/citat\]"
mess = objRegExp.Replace(mess,"<blockquote><B style=""font-size: 9px"">$1</b> <font style=""font-size: 9px"">skrev: </font><hr class=""mess4"" size=""1""><I>$2</I><hr class=""mess4"" size=""1""></blockquote>")
objRegExp.Pattern = "\[list\](.*?)\[\/list\]"
mess = objRegExp.Replace(mess,"<ul>$1</ul>")
objRegExp.Pattern = "\[list(=1|=a)\](.*?)\[\/list\]"
mess = objRegExp.Replace(mess,"<ol type$1>$2</ol>")
objRegExp.Pattern = ""(\S+)""
mess = objRegExp.Replace(mess,"“$2”")
objRegExp.Pattern = "\[\*\](.*?)"
mess = objRegExp.Replace(mess,"<li>$1</LI>")
objRegExp.Pattern = vbCrLf & vbCRLf
mess = objRegExp.Replace(mess,"<br>"& vbCrLf)
mess = Replace(mess, "'", "''")
encode = mess
End Function
%>
om du vill kolla lite extra på alla mina koder?
du.. jag ändrade till:
(.|\n)+?
nu fattar den att
[.kod]
test
[./kod]
finns... men den skriver inte ut $1 då, som om $1 aldrig finns.. 
det borde ju fungera.. eller hur?
fixat det:
((.|\n)+?)
så fungera allt..