|
| [link]url[/link]? Fra : crha | Vist : 566 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.
| |
|
|