hur gör jag om denna kod för att göra ex en webadress klickbar
<%
sText = replace(gbMessage,"<"," ")
sText = replace(gbMessage,">"," ")
sText = replace(makeHtml(gbMessage),vbCrLf,"<br>")
Response.Write sText
%>
19 svar · 1 104 visningar · startad av WebbisNet
hur gör jag om denna kod för att göra ex en webadress klickbar
<%
sText = replace(gbMessage,"<"," ")
sText = replace(gbMessage,">"," ")
sText = replace(makeHtml(gbMessage),vbCrLf,"<br>")
Response.Write sText
%>
Denna funktion brukar jag använda med ASP. Funkar bra.
Function convertLink(ByVal strText)
Dim mDelimit
Dim re
mDelimit = Chr(0)
Set re = New RegExp
re.Global = True
re.IgnoreCase = true
re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
re.Pattern = "(http://|https://|ftp://|mailto:)(\S)(\S+)"
strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>")
re.Pattern = "(www\.(\S)(\S+))"
strText = re.Replace(strText, "<a href=""http://$1"" target=""_blank"">$1</a>")
strText = Replace(strText, mDelimit, "")
convertLink=strText
End Function
SB skrev:
Denna funktion brukar jag använda med ASP. Funkar bra.
Function convertLink(ByVal strText) Dim mDelimit Dim re mDelimit = Chr(0) Set re = New RegExp re.Global = True re.IgnoreCase = true re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)" strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>") re.Pattern = "(http://|https://|ftp://|mailto:)(\S)(\S+)" strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>") re.Pattern = "(www\.(\S)(\S+))" strText = re.Replace(strText, "<a href=""http://$1"" target=""_blank"">$1</a>") strText = Replace(strText, mDelimit, "") convertLink=strText End Function
Hur brukar du kalla på den, fungerar inte med
sText = convertLink(showAll("klotterText"))
Funktionen heter ju inte strText.
sText = convertLink(showAll("klotterText")) borde ju funka då
Kul att se att den gamla funktionen kunde komma till pass igen :)
hade bara lagt funktionen på fel ställe, funkar fint nu
emission skrev:
Kul att se att den gamla funktionen kunde komma till pass igen :)
vilken gammal funktion :stud
SB skrev:
Denna funktion brukar jag använda med ASP. Funkar bra.
Function convertLink(ByVal strText) Dim mDelimit Dim re mDelimit = Chr(0) Set re = New RegExp re.Global = True re.IgnoreCase = true re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)" strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>") re.Pattern = "(http://|https://|ftp://|mailto:)(\S)(\S+)" strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>") re.Pattern = "(www\.(\S)(\S+))" strText = re.Replace(strText, "<a href=""http://$1"" target=""_blank"">$1</a>") strText = Replace(strText, mDelimit, "") convertLink=strText End Function
skulle man/vi kunna få lite kodförklaringar?
ptr_lks skrev:
skulle man/vi kunna få lite kodförklaringar?
Visst
Function convertLink(ByVal strText)
Dim mDelimit
Dim re
mDelimit = Chr(0)
Set re = New RegExp
re.Global = True
re.IgnoreCase = true
re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
[red]'Matchar på mailadresser (mönstret är lite kryptiskt, men det handlar om att matcha på något@något.toppdomän, där "något" är giltiga adresstecken.
'Stoppar dessutom in chr(0) (mDelimit) i ersättningen, så att de utbytta adresserna inte hittas av nedanstående matchning[/red]
re.Pattern = "(http://|https://|ftp://|mailto:)(\S)(\S+)"
strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>")
[red]'Matchar på vad som helst som föregås av en protokoll-spec.
'Stoppar in chr(0) efter första tecknet i själva adressen, så redan utbytta webbadresser inte hittas av nedanstående matchning
[/red]
re.Pattern = "(www\.(\S)(\S+))"
strText = re.Replace(strText, "<a href=""http://$1"" target=""_blank"">$1</a>")
[red]'Matchar alla webbadresser som börjar på "www". [/red]
strText = Replace(strText, mDelimit, "")
[red]'Rensar bort alla chr(0). [/red]
convertLink=strText
End Function
Hej har svårt för att använda mig utav koder som jag inte förstår, därför tänkte jag terrorisera er med ytterligare frågor
re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
parantesen skall gruppera
\.
= punkt (.)
\w
träffar vilket ord som helst = [a-zA-Z_0-9]
i enlighet med ovan så borde alltså
[A-Za-z0-9]
kunna ersättas med
\w
vad betyder
-\w+
re.Pattern = "(http://|https://|ftp://|mailto:)(\S)(\S+)"
strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>")
Enligt webeye
kan man komma åt vilken gruppering man vill med dess nummer och dollartecken
I enlighet med ovan borde:
$1 = första gruppering = http://
$2 = andra gruppering = https://
$3 = 3:e gruppering = ftp://
Om ovanstånde stämmer, så förstår jag itnte hur
<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>")
Kan appliceras på tex:
Replace av http://www.sl.se till:
<a href="http://www.sl.se" target=""_blank"">sl</a>"
eller är det så att med en "gruppering" menas i detta fallet allt som finns mellan parantesen?
ptr_lks skrev:
eller är det så att med en "gruppering" menas i detta fallet allt som finns mellan parantesen?
Japp
men i såfall
re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
har ju flera paranteser men ändå fungerar $1...
rent intuitivt skulle jag villja använda mig utav:... $1$2$3
$1 är hela första grupperingen, i detta fall hela matchningen
Just nu skriver jag
Response.Write Replace(Smilies(rsGbok("Message")), vbCrLf, "<br>" & vbCrLf)
hur skall jag skriva om jag vill använda mig utav convertLink-funktionen?
convertLink gör inget konstigt med strängen, så den kan du applicera när som helst.
emission skrev:
convertLink gör inget konstigt med strängen, så den kan du applicera när som helst.
Så då kan jag alltså skriva:
Response.Write convetLink(Replace(Smilies(rsGbok("Message")), vbCrLf, "<br />" & vbCrLf))