15. september 2007 - 20:07Der er
8 kommentarer og 1 løsning
Replace funktion til en hel tabel
Hej
Jeg sidder og roder med noget kode i en størrelse for stor for mit vedkommende :S Jeg ville se om det er muligt at lave en include fil, som jeg kan bruge på mine forskellige sider. Den skulle indholde replace koden til engang smileys, som er taget ud af en tabel i databasen.
Det er istedet for at sidde og lave alle de her linier, min database oplysninger er følgende :
Navn : Database Tabel : smileys Felterne : id = Autonr. Smileytag = her er kode placeret til smileyen ( :) ;) osv) filnavn = navnet på selve filen ( s_finger.gif )
Håber at der findes en mulighed for det, da det ville gøre det hele meget meget nemmere :)
Ser rs = Conn.Execute(sql) Do While Not rs.EOF kommentar = Replace(kommentar, rs("smileytag"), "<img src=""gfx/" & rs("filnavn") & """ alt="""" />")
rs.MoveNext Loop
Synes godt om
Slettet bruger
15. september 2007 - 20:55#2
hmmm.... okai det var da allerede noget :) hvordan får jeg den så strikket ind her ? <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=d:\web\localuser\pivskid.dk\database\database.mdb" Conn.Open DSN
commentID = request.querystring("id") SQLstringK="SELECT * FROM kommentar WHERE id2 = '" & commentID & "' order by id desc" SET rs = Conn.Execute(SQLstringK)
%> <% if rs.eof then response.write("Piveren her har desværre ikke modtaget nogen beskeder endnu...<br><br>") end if %> <% While Not Rs.eof %> <table border="1" width="100%" id="table2" style="border-collapse: collapse" bordercolor="#666666"> <tr> <td width="40%" bgcolor="#6699FF"> <a href="profil.asp?id=<% = rs("afsender") %>"><% = rs("navn") %></a></td> <td bgcolor="#CCCCCC"> <% = rs("dato") %></td> </tr> <tr> <td colspan="2" bgcolor="#999999"> <% = rs("kommentar") %></td> </tr> </table> <% if "" & rs("id") & "" = "" & Session("login") & "" then %> <a href="profil_slet_tagwall.asp?id=<% = rs2("id") %>"> <img border="0" src="iconer/delete.gif" width="44" height="14"></a><br><br> <% end if %> <br> <% rs.MoveNext wend %>
commentID = request.querystring("id") SQLstringK="SELECT * FROM kommentar WHERE id2 = '" & commentID & "' order by id desc" SET rs = Conn.Execute(SQLstringK)
%> <% if rs.eof then response.write("Piveren her har desværre ikke modtaget nogen beskeder endnu...<br><br>") end if %> <% While Not Rs.eof kommentar = rs("kommentar")
' Hent smileys ind i en application variable, ' det forventes at der findes et aktiv felt i smileys ' så man kan se om de smiley er aktiv eller ej Sub LoadSmileys If NOT IsArray(application("smileys")) Then sql = "SELECT count(*) as result FROM smileys where aktiv<>0" Ser rs = Conn.Execute(sql) antal = rs("result") If Not IsNumeric(antal) Then Antal = 1 dim smileyarr(antal-1, 1) dim idx idx = 0
sql = "SELECT * FROM smileys where aktiv<>0" Ser rs = Conn.Execute(sql) Do While Not rs.EOF smileyarr(idx, 0) = rs("smileytag") smileyarr(idx, 1) = rs("filnavn") rs.MoveNext idx = idx + 1 Loop application.lock application("smileys")=smileyarr application.unlock End If End Sub
Function ReplaceTag(ByVal sText, ByVal sTag, ByVal sReplace) Dim result result = Replace(sText, sTag, sReplace, 1, -1, 1) ReplaceTag = result End function
Function UdskiftSmileys(ByVal sText) Dim idx, sTemp sTemp = Trim(sText & "") LoadSmileys FOR idx = 0 TO UBound(application("smileys")) sTemp = ReplaceTag(sTemp, application("smileys")(idx,0), "<img src='"application("smileys")(idx,1)&"' alt='"&application("smileys")(idx,0)&"'>" ) NEXT UdskiftSmileys = sTemp End Function
Function FormaterTekst(ByVal sText) Dim sTemp sTemp = Trim(sText & "") sTemp = UdskiftSmileys( sTemp ) FormaterTekst = sTemp End Function
commentID = request.querystring("id") commentID = Replace(commentID, "'", "´") SQLstringK = "SELECT * FROM kommentar WHERE id2 = '" & commentID & "' order by id desc" SET rs = Conn.Execute(SQLstringK)
' Hent smileys ind i en application variable, ' det forventes at der findes et aktiv felt i smileys ' så man kan se om de smiley er aktiv eller ej Sub LoadSmileys If NOT IsArray(application("smileys")) Then sql = "SELECT count(*) as result FROM smileys where aktiv<>0" Ser rs = Conn.Execute(sql) antal = rs("result") If Not IsNumeric(antal) Then Antal = 1 dim smileyarr(antal-1, 1) dim idx idx = 0
sql = "SELECT * FROM smileys where aktiv<>0" Ser rs = Conn.Execute(sql) Do While Not rs.EOF smileyarr(idx, 0) = rs("smileytag") smileyarr(idx, 1) = rs("filnavn") rs.MoveNext idx = idx + 1 Loop application.lock application("smileys")=smileyarr application.unlock End If End Sub
Function ReplaceTag(ByVal sText, ByVal sTag, ByVal sReplace) Dim result result = Replace(sText, sTag, sReplace, 1, -1, 1) ReplaceTag = result End function
Function UdskiftSmileys(ByVal sText) Dim idx, sTemp sTemp = Trim(sText & "") LoadSmileys FOR idx = 0 TO UBound(application("smileys")) sTemp = ReplaceTag(sTemp, application("smileys")(idx,0), "<img src='"application("smileys")(idx,1)&"' alt='"&application("smileys")(idx,0)&"'>" ) NEXT UdskiftSmileys = sTemp End Function
Function FormaterTekst(ByVal sText) Dim sTemp sTemp = Trim(sText & "") sTemp = UdskiftSmileys( sTemp ) FormaterTekst = sTemp End Function
commentID = request.querystring("id") commentID = Replace(commentID, "'", "´") SQLstringK = "SELECT * FROM kommentar WHERE id2 = '" & commentID & "' order by id desc" SET rs = Conn.Execute(SQLstringK)
Og så lige en fejl, når man prøve at dimme en array med en dynamisk længde.. det kan man jo ikke i vbscript. Så man skal lige via en dim og en redim, så skulle den jo være løs:
---
Hej VTMServer
Her er en kode som skulle hjælpe dig med dit problem, og den skulle virker på alle dine tekster, bare du bruger functionen FormaterTekst(sText)
' Hent smileys ind i en application variable, ' det forventes at der findes et aktiv felt i smileys ' så man kan se om de smiley er aktiv eller ej Sub LoadSmileys If NOT IsArray(application("smileys")) Then sql = "SELECT count(*) as result FROM smileys where aktiv<>0" Ser rs = Conn.Execute(sql) antal = rs("result") If Not IsNumeric(antal) Then Antal = 1 dim smileyarr() redim smileyarr(antal-1, 1) dim idx idx = 0
sql = "SELECT * FROM smileys where aktiv<>0" Ser rs = Conn.Execute(sql) Do While Not rs.EOF smileyarr(idx, 0) = rs("smileytag") smileyarr(idx, 1) = rs("filnavn") rs.MoveNext idx = idx + 1 Loop application.lock application("smileys")=smileyarr application.unlock End If End Sub
Function ReplaceTag(ByVal sText, ByVal sTag, ByVal sReplace) Dim result result = Replace(sText, sTag, sReplace, 1, -1, 1) ReplaceTag = result End function
Function UdskiftSmileys(ByVal sText) Dim idx, sTemp sTemp = Trim(sText & "") LoadSmileys FOR idx = 0 TO UBound(application("smileys")) sTemp = ReplaceTag(sTemp, application("smileys")(idx,0), "<img src='"application("smileys")(idx,1)&"' alt='"&application("smileys")(idx,0)&"'>" ) NEXT UdskiftSmileys = sTemp End Function
Function FormaterTekst(ByVal sText) Dim sTemp sTemp = Trim(sText & "") sTemp = UdskiftSmileys( sTemp ) FormaterTekst = sTemp End Function
commentID = request.querystring("id") commentID = Replace(commentID, "'", "´") SQLstringK = "SELECT * FROM kommentar WHERE id2 = '" & commentID & "' order by id desc" SET rs = Conn.Execute(SQLstringK)
' Hent smileys ind i en application variable, ' det forventes at der findes et aktiv felt i smileys ' så man kan se om de smiley er aktiv eller ej Sub LoadSmileys If NOT IsArray(application("smileys")) Then sql = "SELECT count(*) as result FROM smileys where aktiv<>0" Ser rs = Conn.Execute(sql) antal = rs("result") If Not IsNumeric(antal) Then Antal = 1 dim smileyarr() redim smileyarr(antal-1, 1) dim idx idx = 0
sql = "SELECT * FROM smileys where aktiv<>0" Ser rs = Conn.Execute(sql) Do While Not rs.EOF smileyarr(idx, 0) = rs("smileytag") smileyarr(idx, 1) = rs("filnavn") rs.MoveNext idx = idx + 1 Loop application.lock application("smileys")=smileyarr application.unlock End If End Sub
Function ReplaceTag(ByVal sText, ByVal sTag, ByVal sReplace) Dim result result = Replace(sText, sTag, sReplace, 1, -1, 1) ReplaceTag = result End function
Function UdskiftSmileys(ByVal sText) Dim idx, sTemp sTemp = Trim(sText & "") LoadSmileys FOR idx = 0 TO UBound(application("smileys")) sTemp = ReplaceTag(sTemp, application("smileys")(idx,0), "<img src='" & application("smileys")(idx,1) & "' alt='" & application("smileys")(idx,0) & "'>" ) NEXT UdskiftSmileys = sTemp End Function
Function FormaterTekst(ByVal sText) Dim sTemp sTemp = Trim(sText & "") sTemp = UdskiftSmileys( sTemp ) FormaterTekst = sTemp End Function
commentID = request.querystring("id") commentID = Replace(commentID, "'", "´") SQLstringK = "SELECT * FROM kommentar WHERE id2 = '" & commentID & "' order by id desc" SET rs = Conn.Execute(SQLstringK)
' Hent smileys ind i en application variable, ' det forventes at der findes et aktiv felt i smileys ' så man kan se om de smiley er aktiv eller ej Sub LoadSmileys If NOT IsArray(application("smileys")) Then sql = "SELECT count(*) as result FROM smileys where aktiv<>0" Set rs = Conn.Execute(sql) antal = rs("result") If Not IsNumeric(antal) Then Antal = 1 dim smileyarr() redim smileyarr(antal-1, 1) dim idx idx = 0
sql = "SELECT * FROM smileys where aktiv<>0" Set rs = Conn.Execute(sql) Do While Not rs.EOF smileyarr(idx, 0) = rs("smileytag") smileyarr(idx, 1) = rs("filnavn") rs.MoveNext idx = idx + 1 Loop application.lock application("smileys")=smileyarr application.unlock End If End Sub
Function ReplaceTag(ByVal sText, ByVal sTag, ByVal sReplace) Dim result result = Replace(sText, sTag, sReplace, 1, -1, 1) ReplaceTag = result End function
Function UdskiftSmileys(ByVal sText) Dim idx, sTemp sTemp = Trim(sText & "") LoadSmileys FOR idx = 0 TO UBound(application("smileys")) sTemp = ReplaceTag(sTemp, application("smileys")(idx,0), "<img src='gfx/" & application("smileys")(idx,1) & "' alt='" & application("smileys")(idx,0) & "'>" ) NEXT UdskiftSmileys = sTemp End Function
Function FormaterTekst(ByVal sText) Dim sTemp sTemp = Trim(sText & "") sTemp = UdskiftSmileys( sTemp ) FormaterTekst = sTemp End Function
commentID = request.querystring("id") commentID = Replace(commentID, "'", "´") SQLstringK = "SELECT * FROM kommentar WHERE id2 = '" & commentID & "' order by id desc" SET rs = Conn.Execute(SQLstringK)
Skidt-pyt med at mrspock får pointene på denne her, men jeg synes nu godt at jeg ville have haft et eller andet form for svar på 15/09-2007 21:50:57 ...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.