Är kass på regexp, men i alla fall
Dim objRegExp
Set objRegExp = New RegExp
objRegExp.IgnoreCase = False
objRegExp.Global = False
objRegExp.Pattern = "Att:(*?):(*?)"
Set rs = MyConn.ExeCute("Select * from guestbook where namn='" & $1 & "' AND datum='" & $2 & "'")
stext = objRegExp.Replace(stext,"<pre>" & rs("meddelande") & "</pre>" & vbcrlf & stext)
rs.close
att den läser igenom en text, och hittar den i texten ex: Att:Fredde:2005-01-01
så skall den hämta den meddelandet och skriva ut det mellan ex. <pre></pre>
hjälp på vägen tack! :)
emissionMedlem sedan dec. 19996 721 inlägg Dim objRegExp
Set objRegExp = New RegExp
objRegExp.IgnoreCase = False
objRegExp.Global = False
objRegExp.Pattern = "Att:([^:]+):([^:]+)"
set colMatches=objRegExp.Execute(DinTextVariabel)
if colMatches.Count>0 then
Set rs = MyConn.ExeCute("Select * from guestbook where namn='" & replace(colMatches(0).Submatches(0),"'","''") & "' AND datum='" & replace(colMatches(0).Submatches(1),"'","''") & "'")
stext = objRegExp.Replace(stext,"<pre>" & rs("meddelande") & "</pre>" & vbcrlf & stext)
rs.close
end if
Bläää blir fel i alla fall...
Syntaxfel (operator saknas) i frågeuttrycket 'namn='Tommy' AND datum=2005-10-15<br /><br />Tjohej fö'.
pattern tar med allt efter 2005-10-15
Jag vill att den bara plockar ut i detta fall, Tommy, som den gör rätt, men fel på datum.. där tar den allt efter också.. :(
emissionMedlem sedan dec. 19996 721 inlägg Du verkar ha slängt bort enkelfnuttarna runt datumet...
Jag var lite lat när jag skrev mönstret
objRegExp.Pattern = "Att:([^:]+):(\d{4}-\d{2}-\d{2})"
emission skrev:
Du verkar ha slängt bort enkelfnuttarna runt datumet...
Jo det gjorde jag bara för att se vad mer som kom med.. utan att behöva skriva ut satsen. :)
Okei.. skall testas! :)
hmm..
Select * from guestbook where namn='Fredde' AND datum='2005-12-09'Utför test nu..
Av det senaste mönstret, så ja visst. Den plockar ut det, och stoppar det mellan fnuttarna, men lika fullt så sätter den nästa text efter fnuttarna, den texten som jag inte alls vill ha med...
I nuläget utan Execute, bara response.write.
Set objRegExp = New RegExp
objRegExp.IgnoreCase = False
objRegExp.Global = False
objRegExp.Pattern = "Att:([^:]+):(\d{4}-\d{2}-\d{2})"
set colMatches=objRegExp.Execute(stext)
Dim namnet, datumet
if colMatches.Count>0 then
namnet = replace(colMatches(0).Submatches(0),"'","''")
datumet = replace(colMatches(0).Submatches(1),"'","''")
Response.Write("Select * from guestbook where namn='" & namnet & "' AND datum='" & datumet & "'")
' stext = objRegExp.Replace(stext,"<pre>" & rs("meddelande") & "</pre>" & vbcrlf & stext)
' rs.close
end if
Dim objRegExp
Set objRegExp = New RegExp
objRegExp.IgnoreCase = False
objRegExp.Global = False
objRegExp.Pattern = "Att:([^:]+):(\d{4}-\d{2}-\d{2})"
set colMatches=objRegExp.Execute(stext)
if colMatches.Count > 0 then
Set rs = MyConn.ExeCute("Select * from guestbook where namn='" & replace(colMatches(0).Submatches(0),"'","''") & "' AND datum=#" & replace(colMatches(0).Submatches(1),"'","''") & "#")
stext = objRegExp.Replace(stext,"<div align=""center""><table style=""width: 90%;""><tr><td style=""background-color: #DEDEE4;color: #000000;""><b>" & rs("namn") & "</b>, " & rs("datum") & " " & VbCrlf & rs("meddelande") & "<td></tr></table></div>")
rs.close
end if
Funkar fint nu, dock att den bara ersätter 1 gång mer inlägg.. alltså man kan inte göra 2 eller fler ersättningar... *snyft*
mozillaMedlem sedan juli 20011 084 inlägg Du har ju stängt av det???
objRegExp.Global = False
Ändra det till true så är sökningen global.