Avatar billede mini-me Nybegynder
08. oktober 2008 - 15:45 Der er 3 kommentarer og
1 løsning

Hjælp til RegExp

Hej,

Jeg ønsker at lave en søg og erstat funktion, som erstatter noget af mit input.

inpContent består af eks:

<p>Kontaktformular</p>
<p>
  <img alt="!moduleStart!contactform(79)!moduleEnd!" src="/admin/editor/scripts/module.gif" />
</p>
<p>Billede galleri</p>
<p>
  <img alt="!moduleStart!gallery(25)!moduleEnd!" src="/admin/editor/scripts/module.gif" />
</p>
<p> Nyhedsbrev</p>
<p>
  <img alt="!moduleStart!newsletter(37)!moduleEnd!" src="/admin/editor/scripts/module.gif" />
</p>

' First step is to remove the module image tag and replace it by real ASP code.
        webSiteContent = Request.Form("inpContent")
       
       
        'this sub finds the matches
        Sub RegExpTest(strMatchPattern, strPhrase)
            'create variables
            Dim objRegEx, Match, Matches, StrReturnStr
            'create instance of RegExp object
            Set objRegEx = New RegExp
            'find all matches
            objRegEx.Global = True
            'set case insensitive
            objRegEx.IgnoreCase = True
            'set the pattern
            objRegEx.Pattern = strMatchPattern
            'create the collection of matches
            Set Matches = objRegEx.Execute(strPhrase)
            'print out all matches
            For Each Match in Matches
                strReturnStr = "Match found at position "
                strReturnStr = strReturnStr & Match.FirstIndex & "." & Match
                'Value is '"
                strReturnStr = strReturnStr & Match.value & "'."
                'print
                Response.Write(strReturnStr & "<BR>")
            Next
        End Sub
        'call the subroutine
        regExpTest "!moduleStart!([\s\S]+?)!moduleEnd!.", webSiteContent


Jeg får også output ud:

Match found at position 46.!moduleStart!contactform(79)!moduleEnd!"!moduleStart!contactform(79)!moduleEnd!"'.
Match found at position 179.!moduleStart!gallery(25)!moduleEnd!"!moduleStart!gallery(25)!moduleEnd!"'.
Match found at position 303.!moduleStart!newsletter(37)!moduleEnd!"!moduleStart!newsletter(37)!moduleEnd!"'.

Hvis jeg nu ønsker at replace det output så jeg får

<p>Kontaktformular</p>
<p>
  <% call contactform(79) %>
</p>
<p>Billede galleri</p>
<p>
  <% call gallery(25) %>
</p>
<p> Nyhedsbrev</p>
<p>
  <% call newsletter(37)
</p>
Avatar billede mini-me Nybegynder
09. oktober 2008 - 14:44 #1
Slet ingen eksperter på linien?
Avatar billede mini-me Nybegynder
09. oktober 2008 - 23:42 #2
Er det helt umuligt at lave?
Avatar billede mini-me Nybegynder
11. oktober 2008 - 14:07 #3
Er alle gået på ferie?
Avatar billede mini-me Nybegynder
12. oktober 2008 - 08:49 #4
lukker
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