|  | 		    
					
    
        
            
                
                | |  | [link]url[/link]? Fra :
  crha  | Vist : 783 gange 50  point
 Dato :  28-07-03 16:08
 | 
 |  | 
 
                Hejsa, jeg har set på flere sider at man kan, når noget skal udfyldes, kan skreve [link]www.kandu.dk[/link]  i stedet for <a href="www.kandu.dk"  target="_blank">www.kandu.dk Mit spørgsmål er så: Hvordan gør man dette?
 Mvh.
 Casper
                
                
                    
                 |  |  | 
 | |  | Kommentar Fra :
  Phylock  | 
 Dato :  28-07-03 20:04
 | 
 |  |  |  |  | 
 | |  | Kommentar Fra :
  gandalf  | 
 Dato :  29-07-03 20:30
 | 
 |  | 
 
                Hej Crha
 For at gøre dette er det nemmeste at bruge regular expressions.
 Dette eksempel er ikke testet, da det er skrevet direkte ind hos kandu.dk, men du kan se pricippet.
 Gandalf
 eks:
 | Kode Dim reg
 Dim Dintekst
 Dintekst = "Dette er et link [link]www.kandu.dk[/link] som er en test"
 Set reg = New RegExp
 
 Dim maches
 Dim mach
 
 reg.Global = True
 reg.IgnoreCase = True
 
 reg.Pattern = "[link]([.]*)?[/link]"
 Set maches = reg.Execute(Dintekst)
 
 For Each mach In maches
 replace(Dintekst,"<a href='" & mach.SubMatches(1).Value & "' target='_blank'>" & mach.SubMatches(1).Value & "</a>"
 Next
 set reg = nothing
 | 
 |  |  | 
 | |  | Kommentar Fra :
  gandalf  | 
 Dato :  29-07-03 20:32
 | 
 |  | 
 
                Jeg var lidt for hurtig erstat lige den replace linie med denne.
 replace(Dintekst, Mach.value, "<a href='" & mach.SubMatches(1).Value & "' target='_blank'>" & mach.SubMatches(1).Value & "</a>"
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  gandalf  | 
 Dato :  29-07-03 20:39
 | 
 |  |  |  |  | 
 | |  | Kommentar Fra :
  crha  | 
 Dato :  29-07-03 23:33
 | 
 |  |  |  |  | 
 | |  | Kommentar Fra :
  gandalf  | 
 Dato :  29-07-03 23:40
 | 
 |  | 
 
                Eftersom replace ikke returnere en værdi skal man ikke have parantes rundt om.
 Erstat replace med følgende, jeg var lidt for hurtig.
 replace Dintekst,"<a href='" & mach.SubMatches(1).Value & "' target='_blank'>" & mach.SubMatches(1).Value & "</a>"
 Gandalf
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  crha  | 
 Dato :  30-07-03 12:45
 | 
 |  | 
 
                Den laver følgende fejl: 
 Microsoft VBScript runtime error '800a0005' 
 Invalid procedure call or argument 
 /testu.asp, line 17 
 (Se selv på: http://cruckie.net/testu.asp) Kildekoden for filen ser ud som følgende:
 <%
 Dim reg
    Dim Dintekst
    Dintekst = "Dette er et link [link]www.kandu.dk[/link]  som er en test"
    Set reg = New RegExp
    Dim maches
    Dim mach
       
    reg.Global = True
    reg.IgnoreCase = True
   
    reg.Pattern = "[link]([.]*)?[/link]"
    Set maches = reg.Execute(Dintekst)
    For Each mach In maches    
    replace Dintekst,"<a href='" & mach.SubMatches(1).Value & "' target='_blank'>" & mach.SubMatches(1).Value & "</a>"
    Next
    set reg = nothing
 %>
 =)
                
                
                 |  |  | 
 | |  | Accepteret svar Fra :
  gandalf  |  Modtaget 50  point
 Dato :  30-07-03 13:44
 | 
 |  | 
 
                Hej crha
 Så får du ikke mere for de 50 point. Her er et eksempel som virker.
 Gandalf
 | Kode <%
 
 Function ReplaceLinks(strInput)
 Dim regex, match, matches, Position, strReturn
 Position = 1
 strReturn = ""
 
 
 Set regex = New RegExp
 
 regex.Pattern = "\[link\](.*?)\[\/link\]"
 
 regex.IgnoreCase = True
 regex.Global = True
 Set matches = regex.Execute(strInput)
 
 For Each match In matches
 strReturn = strReturn & Mid(strInput, Position, match.FirstIndex + 1 - Position)
 strReturn = strReturn & "<a href='" & match.submatches(0) & "' target='_blank'>" & match.submatches(0) & "</a>"
 Position = Len(match.Value) + match.FirstIndex + 1
 Next
 ReplaceLinks = strReturn
 End Function
 
 Response.write ReplaceLinks ("Dette er et link [link]http://www.kandu.dk[/link] som er en test her er et andet [link]http://www.google.com[/link]")
 %>
 | 
 |  |  | 
 | |  | Godkendelse af svar Fra :
  crha  | 
 Dato :  30-07-03 15:19
 | 
 |  |  |  |  | 
 | |  | Du har følgende muligheder |  | 
 |  | 
            
               
                    Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
 Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
 |  |  | 
 |  |