Avatar billede nythjem Nybegynder
09. maj 2007 - 12:47 Der er 5 kommentarer og
1 løsning

Url til link funktion?

Hej Alle,

jeg har lavet understående eksempel, som jeg håber en RG haj lige vil hjælpe mig med :)

Jeg har sat understående eksempel op, det eneste jeg mangler i funktionen er at lave www.domain.com til et link også :)

Understående er eksemplet, dernæst resultatet den skriver ud:


Code
---------------------------------------------

<%
Function CreateLinks(strText)
   
    '-- Declare object
    Dim objReg
    Set objReg = New RegExp
   
    '-- Set rules
    objReg.Global = True
    objReg.IgnoreCase = True
   
    '-- Test for ordinary hyperlinks
    objReg.Pattern = "(\S+\:\/\/{1}\S+\b)"
    strText = objReg.Replace(strText, "<a href=""$1"">$1</a>")
   
    '-- Test for e-mails
    objReg.Pattern = "(\S+@{1}\S+\.[a-z][a-z]+\b)"
    strText = objReg.Replace(strText, "<a href=""mailto:$1"">$1</a>")
   
    '-- Clear object, return convert
    Set objReg = Nothing
    CreateLinks = strText
   
End Function

'-- Test streng
string_test = string_test & "#1: www.domain.com" & ", "
string_test = string_test & "#2: http://www.domain.com" & ", "
string_test = string_test & "#3: http://domain.com" & ", "
string_test = string_test & "#4: www.domain.com/extra/path/" & ", "
string_test = string_test & "#5: www.domain.com/extra" & ", "
string_test = string_test & "#6: http://search.domain.com" & ", "
string_test = string_test & "#7: http://search.domain.com/?site=1&site=2&site=3&site=4&test"

string_test = CreateLinks(string_test)
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <title></title>
  <meta name="description" content="" />
  <meta name="keywords" content="" />
  <meta name="author" content="" />
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <meta http-equiv="imagetoolbar" content="no" />
 
  </head>
<body>

    <pre>
        <%=string_test%>
    </pre>

</body>
</html>


Output
---------------------------------------------

#1: www.domain.com,
#2: <a href="http://www.domain.com">http://www.domain.com</a>,
#3: <a href="http://domain.com">http://domain.com</a>,
#4: www.domain.com/extra/path/,
#5: www.domain.com/extra,
#6: <a href="http://search.domain.com">http://search.domain.com</a>,
#7: <a href="http://search.domain.com/?site=1&site=2&site=3&site=4&test">http://search.domain.com/?site=1&site=2&site=3&site=4&test</a>


Er der en venlig sjæl der lige kan se løsningen ?
Avatar billede roenving Novice
10. maj 2007 - 00:39 #1
Måske:

    '-- Test for ordinary hyperlinks
    objReg.Pattern = "((\S+\:\/\/|www)\S+\b)"
    strText = objReg.Replace(strText, "<a href=""$1"">$1</a>")
Avatar billede jensgram Nybegynder
10. maj 2007 - 07:34 #2
Roenving > Men <a href="www.domain.com">www.domain.com</a> er jo ikke et gyldigt hyperlink...
Avatar billede nythjem Nybegynder
10. maj 2007 - 09:19 #3
Jes, det er helt perfekt som altid! Du er sgu en schatze :)

Rigtig god dag, og du må meget gerne ligge et svar :)
Avatar billede roenving Novice
10. maj 2007 - 12:07 #4
>>jensgram

-- det har du zq da ret i, så f.eks.

    '-- Test for ordinary hyperlinks
    objReg.Pattern = "((\S+\:\/\/|(www))(\S+\b))"
    strText = objReg.Replace(strText, "<a href=""http://$3$4"">$1</a>")

-- det skal lige prøves grundigt, for det er nemt at løbe sur i variablerne !-)

-- els velbekomme '-)
Avatar billede nythjem Nybegynder
10. maj 2007 - 13:34 #5
Hej Jes,

den sidste rutine du fik konstrueret er super super super :)

Endnu engang tak for hjælpen :)
Avatar billede roenving Novice
10. maj 2007 - 13:40 #6
-- og jeg takker for point ;~}
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

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