Avatar billede encory Nybegynder
17. januar 2003 - 18:46 Der er 2 kommentarer og
1 løsning

Hvordan udtrækkes fx et link af en tekststreng

Hej vil ville gerne vide hvordan man kan udtrække links og andre tekster af en streng. Jeg skal bruge det fordi jeg benytter htmlspecialchars til nogle kommentarer i et forum... Jeg ville scanne teksten igennem for webadresser fx www.encory.dk eller http://www.encory.dk og få dem indkodet i en url men resten af teksten forbliver formateret med htmlspecialchars. Dette er for at holde teksterne fri for html tags og lign. dog ville evt links være en fordel at have som links... Håber at nogle kan hjælpe og evt. kan poste lidt kode man kan bruge eller kigge på.
Avatar billede agg-zeus Nybegynder
17. januar 2003 - 18:54 #1
Du kan f.eks. bruge:

function url2link($str) {
  $str = preg_replace("/((ht|f)tp:\/\/)[\w.-]+(?(?=\/)[^\s<>]+)/i", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $str);
  $str = preg_replace("/(?<!http:\/\/)(www\.)[\w.-]+(?(?=\/)[^\s<>]+)/i", "<a href=\"http://\\0\" target=\"_blank\">\\0</a>", $str);
  return $str;
}

function email2link($str) {
  return preg_replace("/[\w.-]+@[\w-]+\.[\w.-]+/i", "<a href=\"mailto:\\0\">\\0</a>", $str);
}

Den øverste finder Links og den nederste Mails. Der laves så et respektivt link til enten siden eller mailen.
Avatar billede encory Nybegynder
17. januar 2003 - 19:22 #2
Det virker perfekt.... mange mange tak....
Avatar billede agg-zeus Nybegynder
17. januar 2003 - 19:28 #3
var så lidt :) når men selv venter på hjælp kan man lige så godt hjælpe lidt selv :D
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