Avatar billede cmau Nybegynder
20. december 2006 - 18:00 Der er 7 kommentarer og
1 løsning

lav link og email

Jeg har nedenstående kode som laver tekst til links og mails, hvis de er det, men hvis jeg skriver "..bla bla min side http://www.woox.dk. jeg har..." altså med . efter linket eller hvis det var med mailen.

Så tager den . med og det skal den jo ikke.

Ligeledes vil jeg gerne have at den laver det til link når man også undlader http:// bare www.woox.dk

    $data = ereg_replace("http://([a-zA-Z0-9@:%_.~#-\?&]*)", "<a target=_blank href=\"http://\\1\">http://\\1</a> ", $data);
    $data = ereg_replace("([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+[.]{1}[a-zA-Z0-9._-]+)","<a href=\"mailto:\\1\">\\1</a>",$data);
Avatar billede mcardle Nybegynder
21. december 2006 - 12:49 #1
Prøv denne her:

function url2link($txt)
    {
        $username = "[a-z0-9_\-]+";
        $password = "[a-z0-9_\-!#]+";
        $host = "[a-z0-9\-]+\.[a-z0-9\-\.]+";
        $port = "\d{1,5}";
        $path = "\/[a-z0-9\/\-_\.\(\)\%#]*";
        $querystr = "\?[a-z0-9&=\-_\.%\(\)#]+";
        $proto = "(https?|ftp):\/\/";
        $url = "$host(:$port)?($path($querystr)?)?";
        $protodomain = "/$proto(($username(:$password)?@)?$url)/i";
        $domain = "/(^| )(www\.$url)/im";
        $protomail = "/mailto:($username@$host)/i";
        $mail = "/(^| )($username@$host)/im";
        $replacements = array(
                $protodomain => "<a href=\"\\0\" target=\"_blank\">\\2</a>"
                ,$domain => "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>"
                ,$protomail => "<a href=\"\\0\">\\1</a>"
                ,$mail => "\\1<a href=\"mailto:\\2\">\\2</a>"
            );
        return preg_replace( array_keys( $replacements ), array_values( $replacements ), $txt );
    }
Avatar billede mcardle Nybegynder
21. december 2006 - 12:50 #2
Den laver http://, www og mailto: om til links...
Avatar billede cmau Nybegynder
21. december 2006 - 13:59 #3
Er den ikke meget indviklet? :S
Avatar billede mcardle Nybegynder
22. december 2006 - 01:29 #4
Det ved jeg ikke... Den virker...
Avatar billede cmau Nybegynder
22. december 2006 - 12:10 #5
Den tager stadigvæk punktum efter linket med. <a ...>www.woox.dk.</a> den skal jo lave <a ...>www.woox.dk</a>.
Avatar billede mcardle Nybegynder
22. december 2006 - 12:46 #6
Hmm, så kan jeg ikke hjælpe dig... Sorry...
Avatar billede cmau Nybegynder
22. december 2006 - 13:22 #7
Øv, er der ander som har en ide?
Avatar billede cmau Nybegynder
05. januar 2007 - 21:24 #8
Lukker her, må prøve en anden gang igen.
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging