Avatar billede esbenn Nybegynder
09. juni 2007 - 23:01 Der er 11 kommentarer og
1 løsning

Replace include

Når jeg henter og replacer fra min database:
    besked = rs("text")
    besked = Replace(besked,"[gæstebog]","<!-- #include file='Tagwall/index.asp'-->")
      Response.Write besked

Giver det ikke noget resultat da include ikke skal være med i <% og %>.. Hvordan kan jeg gøre det, så jeg kan include det rigtigt?
Avatar billede soerenlyn Nybegynder
09. juni 2007 - 23:12 #1
Hvad er der i din Tagwall/index.asp fil?
Hvis det er en string kan du vel bare inkludere den ovenfor og bruge stringen?

<!-- #include file='Tagwall/index.asp'-->

<%besked = Replace(rs("text"),"[gæstebog]",strReplaceWith)
Response.Write besked%>
Avatar billede esbenn Nybegynder
09. juni 2007 - 23:15 #2
I min Tagwall/index.asp er der en gæstebog... Det skal bruges da admins selv skal kunne indsætte gæstebogen hvordan den skal være.. Så når de skriver at der på selve siden skal være [gæstebog] skal den hentes der inde fra... Ved ikke om det skal gøres på en helt anden måde?
Avatar billede soerenlyn Nybegynder
10. juni 2007 - 00:01 #3
Ligger gæstebogen som html-kode, eller bliver den generet af asp til en htmlkode?
Avatar billede esbenn Nybegynder
10. juni 2007 - 00:59 #4
Den bliver genereret af ASP... Altså ikke ren HTML i den...
Avatar billede morhan Novice
10. juni 2007 - 01:27 #5
Måske noget i denne stil. Den kan klare flere tags.

<%
Function GuestBook
    %><!-- #include file='Tagwall/index.asp'--><%
End Function

Function TestFunktion
    Response.Write "en test"
End Function

Function ParseText(str)
    Dim dic, re, pos, match, matches

    Set dic = Server.CreateObject("Scripting.Dictionary")
    dic.Add "gæstebog", "GuestBook"  'ved "gæstebog" kald GuestBook-funktionen
    dic.Add "test", "TestFunktion"
   
    Set re = New RegExp
    re.Global = True
    re.IgnoreCase = True
    re.Pattern = "\[(gæstebog|test)\]"  'find alle gæstebog og test
   
    Set matches = re.Execute(str)
   
    pos = 1
   
    For Each match In matches
        Response.Write Mid(str, pos, match.FirstIndex-pos+1)
        pos = match.FirstIndex + match.Length + 1
        Execute "Call " & dic(match.SubMatches(0))
    Next

    If pos <= Len(str) Then Response.Write Mid(str, pos)
End Function


besked = rs("text")
ParseText(besked)
%>
Avatar billede esbenn Nybegynder
10. juni 2007 - 11:08 #6
Hvis jeg skal have flere funktioner med, skal jeg så bare tilføje noget her:
Function kal
    %><!-- #include file='Kalender/index.asp'--><%
End Function

dic.Add "kalender", "kal"  'ved "kalender" kald GuestBook-funktionen

    re.Pattern = "\[(gæstebog|test|kalender)\]"  'find alle gæstebog og test

Right?
Avatar billede esbenn Nybegynder
11. juni 2007 - 22:55 #7
Havde helt glemt det, men det virkede.. :-D Kom endeligt med et svar.. :-D
Avatar billede esbenn Nybegynder
05. december 2007 - 16:29 #8
Vil du ikke have dine point?
Avatar billede soerenlyn Nybegynder
05. december 2007 - 17:58 #9
morhan?
Avatar billede esbenn Nybegynder
05. december 2007 - 18:00 #10
Jeps.. morhan
Avatar billede esbenn Nybegynder
25. marts 2008 - 23:06 #11
?
Avatar billede esbenn Nybegynder
02. februar 2010 - 00:25 #12
lukketid
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester