Avatar billede simon_jacobsen Nybegynder
17. januar 2005 - 11:04 Der er 7 kommentarer og
1 løsning

lav adresse til link

Jeg har et forum som folk skriver i og jeg vil gerne have sådan at når folk skriver en adresse ( f.eks. www.eksperten.dk ) bliver det til <a href="www.eksperten.dk">www.eksperten.dk</a>, jeg vil høre om der findes en sådan funktion indbygget i php, og hvis det ikke er tilfældet vil jeg høre om en flink fætter har lavet en sådan funktion :)
Avatar billede dotcom1 Nybegynder
17. januar 2005 - 12:41 #1
Har ikke selv prøvet det, men måske kan du bruge tagster_lib, som findes her: http://www.ljweb.com/usefulscripts/ Ved ikke om den gør det, du beder om, men kig på den... :)
Avatar billede loevgaard Praktikant
17. januar 2005 - 14:07 #2
Kan vel gøres med preg_replace =)
Avatar billede morteeart Nybegynder
17. januar 2005 - 14:09 #3
lol, kom dog med nogle ordenlige løsningeR:

<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                    "<a href=\"\\0\">\\0</a>", $text);
?>

Ref: http://dk2.php.net/manual/en/function.ereg-replace.php
Avatar billede morteeart Nybegynder
17. januar 2005 - 14:09 #4
Og denne her virker også med www.

$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>",ereg_replace("www[^<>[:space:]]+[[:alnum:]/]", "http://\\0", str_replace("http://www", "www", $text)));
Avatar billede morteeart Nybegynder
17. januar 2005 - 14:17 #5
Mere info kan om regulær expressions kan du finde her:

http://regular-expressions.info/examples.html

"[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]" er en regulær expression :)
Avatar billede simon_jacobsen Nybegynder
18. januar 2005 - 09:39 #6
morteeart > kan ikke lige få det til at virke, den laver kun http:// foran www. men det bliver ikke til et link.
Avatar billede morteeart Nybegynder
18. januar 2005 - 13:13 #7
så har du vel ikke brugt dem korrekt ?-)

Prøv at komme med din kode.
Avatar billede simon_jacobsen Nybegynder
19. januar 2005 - 15:46 #8
jeg har min variable  $text der indeholder de adresser der skal ændres til HTML link :
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>",ereg_replace("www[^<>[:space:]]+[[:alnum:]/]", "http://\\0", str_replace("http://www", "www", $text)));
så benytter jeg din kode også sender jeg det ud :
echo $text;
skulle der ændres noget i din kode, så den passer til mit ?
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