Noch besser (ohne Schleife):
Function ReplaceTheShit(strResult)
Set RegExe = New RegExp
With RegExe
.Pattern = "(http:[/]{2})?(www.([a-zA-Z0-9]|[/.]|[~])*)"
.IgnoreCase = True
.Global = True
End With
Set RegExeMatch = RegExe.Execute(strResult)
ReplaceTheShit = RegExe.Replace(strResult, "<a href=""http://$2"" target=""_blank"">$2</a>")
Set RegExe = Nothing
End Function
CU Schmiddl
Am 30.01.2004 um 11:26 schrieb Schwingenheuer:
Stimmt, ich Obertrottel ;-) Danke Schmiddl. Gr��e, Gudula
----- Original Message ----- From: "Michael Schmidt" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, January 30, 2004 11:08 AM Subject: Re: [Coffeehouse] RegEx: URL erkennen und ersetzen
Ja, nu... Du setzt ja in der for...next-Schleife die Variable strOutput immer neu, ausgehend von dem �bergebenen strResult, d.h. das Ersetzen vom ersten Durchlauf kommt gar nicht durch. Warum eigentlich Regex-Replace? Funzt auch so:
For Each Match in RegExeMatch if instr(match.value,"http://")=0 then strResult = Replace(strResult, Match.Value, "<a href=""http://" & Match.Value & """ target=""_blank"">" & Match.Value &"</a>") else strResult = Replace(strResult, Match.Value, "<a href=""" & Match.Value & """ target=""_blank"">" & Match.Value &"</a>") end if Next
CU Schmiddl
Am 30.01.2004 um 10:53 schrieb Schwingenheuer:
< Bitte mal Beispiel input/Output posten. Die Regex so wie sie ist braucht ja immer www im Match, aber Du willst ja http:// *oder* www matchen falls ich das nicht falsch verstanden habe. Die Regex so wie sie jetzt ist l�sst sich �brigen noch verbessern:
(http:[/]{2})?www.([a-zA-Z0-9]|[/.]|[~])*
Regex-golf, sozusagen :-) Und die 'oder' hinten drin kann man auch noch loswerden wenn man will, dann wirds nochmal schneller. Gr�sse,
Aber irgendwie ist das nicht das Problem. Es ist nat�rlich gut, wenn man das Muster noch verbessern k�nnte. Aber testet nochmal selbst. Die Links werden auch erkannt, mit und ohnen http://. Aber es wird im Resultat nur der 2. replaced.
<% dim Ausgabe Ausgabe= "Dies ist ein Link www.test.info Dies ist auch ein Link www.texysstffsdafsdffd.info einfach mal testen" Function ReplaceTheShit(strResult) Set RegExe = New RegExp With RegExe .Pattern = "(http:[/]{2})?www.([a-zA-Z0-9]|[/.]|[~])*" .IgnoreCase = True .Global = True End With Set RegExeMatch = RegExe.Execute(strResult) For Each Match in RegExeMatch if instr(match.value,"http://")=0 then strOutput = RegExe.Replace(strResult, "<a href=""http://" & Match.Value & """ target=""_blank"">" & Match.Value &"</a>") else strOutput = RegExe.Replace(strResult, "<a href=""" & Match.Value & """ target=""_blank"">" & Match.Value &"</a>") end if next If strOutput = "" Then ReplaceTheShit = strResult Else ReplaceTheShit = strOutput End If Set RegExe = Nothing End Function dim Alttext Alttext = "gibts nicht" if Ausgabe <> "" then Alttext = Replace(ReplaceTheShit(Ausgabe),vbcrlf,"<br>") end if Response.write Alttext %>
Gr��e, Gudula
_______________________________________________ Coffeehouse mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/coffeehouse
_______________________________________________ Coffeehouse mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/coffeehouse
_______________________________________________ Coffeehouse mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/coffeehouse
_______________________________________________ Coffeehouse mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/coffeehouse
