Avatar billede essaktsop Nybegynder
12. april 2001 - 21:04 Der er 13 kommentarer

<a href=\"http://$url\">$url</a>

Jeg er igang med at lave en tagwall i PHP.
jeg vil gerne gøre sådan så hvis man skriver et link, (www.) skal det laves om til et link der kan trykkes på!
Hvordan fanden gør jeg det når jeg gemmer det i en txt fil?
Avatar billede mortenfn Nybegynder
12. april 2001 - 21:06 #1
Avatar billede mortenfn Nybegynder
12. april 2001 - 21:07 #2
<a href=\"http://<? echo $url;?>\"><?echo $url;?></a>
Avatar billede mortenfn Nybegynder
12. april 2001 - 21:08 #3
den nederste er rigtig
Avatar billede xzxzx Nybegynder
12. april 2001 - 21:09 #4
Det er godt nok en ulækker overskrift... :-)
Avatar billede blood Nybegynder
12. april 2001 - 21:10 #5
$url = eregi_replace(\"http://([a-z0-9\\-])*(\\.([a-z0-9\\-]+))*(([a-z0-9/])*)?(\\.([a-z0-9\\-]+))*(\\?([a-z0-9]+))?(\\=([a-z0-9]+))?((\\&([a-z0-9]+))(\\=([a-z0-9]+))?)*((\\.([a-z]){3,4})?){1}(((\\&([a-z0-9]+))(\\=([a-z0-9]+))?)*((\\.([a-z]){3,4})?){1})*\", \"<a href=\\\"\\\\0\\\" onfocus=\\\"blur()\\\" target=\\\"_blank\\\">\\\\0</a>\",$url);
Avatar billede blood Nybegynder
12. april 2001 - 21:12 #6
Ups du sage www
$url = eregi_replace(\"www.([a-z0-9\\-])*(\\.([a-z0-9\\-]+))*(([a-z0-9/])*)?(\\.([a-z0-9\\-]+))*(\\?([a-z0-9]+))?(\\=([a-z0-9]+))?((\\&([a-z0-9]+))(\\=([a-z0-9]+))?)*((\\.([a-z]){3,4})?){1}(((\\&([a-z0-9]+))(\\=([a-z0-9]+))?)*((\\.([a-z]){3,4})?){1})*\", \"<a href=\\\"\\\\0\\\" onfocus=\\\"blur()\\\" target=\\\"_blank\\\">\\\\0</a>\",$url);
Avatar billede essaktsop Nybegynder
12. april 2001 - 21:12 #7
mortefn, nej for der skal man indtaste url.

Det skal være ligesom her på eksperten.dk hvor, hvis man vælger at skrive en tekst og så lave et link www.sdsfkhsf.dk, så skal det være klikbart!!!!!
Blood, det ser meget rigtigt ud. prøver lige!
Avatar billede Slettet bruger
12. april 2001 - 21:18 #8
Her er en funktion du kan placere udenfor siderne...

function make_clickable($text) {
    $ret = eregi_replace(\" ([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])\", \" <a href=\\\"\\\\1://\\\\2\\\\3\\\" target=\\\"_blank\\\" target=\\\"_new\\\">\\\\1://\\\\2\\\\3</a>\", $text);
        $ret = eregi_replace(\" (([a-z0-9_]|\\\\-|\\\\.)+@([^[:space:]]*)([[:alnum:]-]))\", \" <a href=\\\"mailto:\\\\1\\\" target=\\\"_new\\\">\\\\1</a>\", $ret);
        return($ret);
}
Avatar billede Slettet bruger
12. april 2001 - 21:19 #9
Den kalder du bare med $link = make_clickable($text);
Avatar billede half_d Nybegynder
12. april 2001 - 21:54 #10
el_barto -
så vidt jeg kan se kræver din funktion at man enten har skrevet en url eller en email adr.
(bare noget med :// eller @ i )
Det essaktsop be\'r om er at man kan skrive www.noget.dk og få effekten.
Avatar billede Slettet bruger
12. april 2001 - 22:20 #11
aah, men det var oxo kun en kommentar..*S*
Avatar billede barefoot Nybegynder
13. april 2001 - 01:49 #12
Jeg har lavet et script som virker når jeg afprøvet det:
<?php
$text = \"Hej med jer alle.
Prøv: www.webcafe.dk
Det er det bedste sted at lære php.
http://barefoot.cee.dk er min hjemmeside.\";

$text = ereg_replace(\"\\n\",\" <br> \",$text);
$text = split(\" \",\" $text \");

for($i=0; $i < sizeof($text)+1; $i++){

  if(ereg(\"http\", $text[$i], $res) || ereg(\"http://www\", $text[$i], $res)){
      $text[$i] = \"<a href=\\\"$text[$i]\\\">$text[$i]</a>\";

  }
  if((!ereg(\"http\", $text[$i], $res) || !ereg(\"http://www\", $text[$i], $res)) && ereg(\"www\", $text[$i], $res)){
      $text[$i] = \"<a href=\\\"http://$text[$i]\\\">$text[$i]</a>\";

  }

}
for($i=0; $i < sizeof($text)+1; $i++){
  echo \" \";
  echo $text[$i];
}
?>

Måske går man over åen efter vand, men det virker altså!
Prøv at give $text en anden værdi i starten. Så kan i selv se.
Avatar billede shitcode.dk Nybegynder
19. november 2001 - 20:31 #13
der er en lidt lettere måde:

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

$besked = ereg_replace(\"www.[^<>[:space:]]+[[:alnum:]/]\", \"<a href=\\\"http://\\\\0\\\">\\\\0</a>\", $besked);

$besked = ereg_replace(\"[[:alpha:]]+@[^<>[:space:]]+[[:alnum:]]\", \"<a href=\\\"mailto:\\\\0\\\">\\\\0</a>\", $besked);


det er både til http://kjsfhkj.dk http://www.sdkjhkjs.dk www.sjkfjss.dk og mailto:
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