Avatar billede kennedk Nybegynder
17. september 2005 - 16:09 Der er 6 kommentarer og
1 løsning

overæst til almindelig dansk :D

function tagster_url($str, $target=true) {
            $ins_str = "";
            if ($target) $ins_str .= " target=\"new\"";
            $str = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "<a href=\"\\1://\\2\"".$ins_str.">\\1://\\2</a>", $str);
            $str = preg_replace ("/(\b|tp\:|\(|\[|\&gt;)(www\.)([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"http://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
            $str = preg_replace ("/(\b|tp\:|\(|\[|\&gt;)(ftp\.)([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1<a href=\"ftp://\\2\\3\"".$ins_str.">\\2\\3</a>", $str);
            return $str;
    }


Ja, er der ikke en der kan oversætte alle de tegn inde i koden? jeg har siddet og tænkt over dem, men de siger mig ingen ting.
Hvad gør de?
Hvordan fungere koden ?
Avatar billede driis Nybegynder
17. september 2005 - 16:19 #1
Der udføres 3 replacements med 3 forsellige regular expressions.
$str = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "<a href=\"\\1://\\2\"".$ins_str.">\\1://\\2</a>", $str);

Finder alle links og pakker dem ind i en <a href="ditlink">ditlink</a>
Avatar billede kennedk Nybegynder
17. september 2005 - 16:29 #2
Det forstod jeg ikke en dyt af hvad du sagde, kan du prøve at skære det ud i pap?
([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i <--- det forstår jeg ikke.
og <a href=\"\\1://\\2\"".$ins_str.">\\1://\\2</a> forstår jeg heller ikke.
Avatar billede olebole Juniormester
17. september 2005 - 16:31 #3
<ole>

- oversæt lige 'overæst'  :D

/mvh
</bole>
Avatar billede kennedk Nybegynder
17. september 2005 - 16:36 #4
haha ole :P
Men ingen der kan oversætte det?
Avatar billede driis Nybegynder
17. september 2005 - 17:15 #5
En regular expression er en måde at udtrykke mønstre i en tekststreng. F.eks. er
/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i
En regular expression der matcher tekst, som vi normalt vil opfatte som en url, f.eks. http://www.eksperten.dk.
preg_replace er en funktion der replacer et match i en regularexpression med noget.

Så step by step:
Avatar billede driis Nybegynder
17. september 2005 - 17:19 #6
function tagster_url($str, $target=true) {
=> deklarerer funktionen tagster_url
$ins_str = "";
=> Deklarerer en tom streng
if ($target) $ins_str .= " target=\"new\"";
=> Hvis parameteren target er sand, så sæt 'target="new"' ind i strengen
$str = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "<a href=\"\\1://\\2\"".$ins_str.">\\1://\\2</a>", $str);
=> Søg efter match af regular expression i str. Erstat matchene med <a href=" ....
De 2 næste funktionskald er variationer af samme.

Endelig
return $str;
}
=> returner strengen og afslut funktion.
Avatar billede kennedk Nybegynder
17. september 2005 - 20:00 #7
okay :) tak
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