Avatar billede -master-d- Nybegynder
26. december 2003 - 18:02 Der er 13 kommentarer og
1 løsning

Eksekvere al asp kode

Hej Eksperter

Jeg har siddet og leget lidt med et template system og det eneste jeg mangler er faktisk en asp funktion som kan eksekvere en asp kode.

Det jeg gerne vil have hjælp til er de patterns som skal bruges til at finde asp-koden i en fil..

altså alt mellem <% og %>...

På forhånd tak...
Avatar billede repsak Nybegynder
26. december 2003 - 18:05 #1
"<%.*%>"
(det er muligt at der skal stå "\<%.*%\>"
Avatar billede -master-d- Nybegynder
26. december 2003 - 18:08 #2
Det virker ikke rigtigt...

Du kan se den funktion jeg bruger nu.
<%
Function MakeRegExp(Streng)
Set regEx = New RegExp  ' Create a regular expression.
regEx.Pattern =  "\<%.*%\>"
regEx.IgnoreCase = True  ' Set case insensitivity.
regEx.Global = True  ' Set global applicability.
Set Matches = regEx.Execute(Streng)  ' Execute search.
    For Each Match in Matches  ' Iterate Matches collection.
        Execute(Match.Value)
    Next
End Function
%>

Den første duer ikke da den ville ødelægge asp funktionen..
Avatar billede repsak Nybegynder
26. december 2003 - 18:16 #3
Jeg har lige testet det... hvad er det som ikke virker?
Avatar billede repsak Nybegynder
26. december 2003 - 18:17 #4
"<%.*%>" virker umiddelbart hos mig (med C#)
Avatar billede roenving Novice
26. december 2003 - 18:18 #5
Hvis du skal have svaret med over skal du bruge:

"<%(.*)%>"
Avatar billede -master-d- Nybegynder
26. december 2003 - 18:22 #6
Når jeg har %> med afslutter den jo aspkoden og dermed vil jeg få en HTTP-error.
Avatar billede -master-d- Nybegynder
26. december 2003 - 18:24 #7
Eller er det bare mig som gør det forkert ?
Avatar billede -master-d- Nybegynder
26. december 2003 - 18:48 #8
Løste det selv.. brugte en alternativ metode og lagde det ind som <script language="VBScript" runat="server">.. :)
Avatar billede repsak Nybegynder
26. december 2003 - 18:50 #9
huh? Hvordan gjorde du det?
Avatar billede -master-d- Nybegynder
26. december 2003 - 19:33 #10
<script Language="VBScript" runat="server">
Function MakeRegExp(streng)
Set regEx = New RegExp  ' Create a regular expression.
regEx.Pattern =  "<%[a-zA-z0-9\W\n]+%>"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(streng)
    For Each Match in Matches
        strengen = Match.Value
        strengen = Replace(strengen, "response.write", "strHTML = strHTML & ", 1,-1,1)
        strengen = Replace(strengen, Chr(60)&"%","")
        strengen = Replace(strengen, "%"&Chr(62),"")
        Execute(strengen)
        streng = Replace(streng, Match.Value, strHTML)
    Next
MakeRegExp = streng
End function
</script>

Sådan ser funktionen ud og den virker, dog kun på en IIS server, jeg har lidt problemer med min UNIX server... men jeg arbejder på sagen.
Avatar billede repsak Nybegynder
26. december 2003 - 20:04 #11
hehe hvad er forskellen på det og så "<%(.*)%>"? (bare nysgerig :)
Avatar billede roenving Novice
27. december 2003 - 01:56 #12
Jeg kom til at tænke på om der måske var brug for nogle escapes, så asp-fortolkeren ikke tænkte her er en slut ?-)
Avatar billede -master-d- Nybegynder
27. december 2003 - 23:29 #13
Det det endte op med var : "<%[\w\W]+%>", som umiddelbart er det samme som "<%.*%>", det virkede bare ikke på min maskine..

Er der én af jer som kan sige mig hvordan man gør i JScript ?
Avatar billede roenving Novice
27. december 2003 - 23:55 #14
Tjah ... øh ... næh ...
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