Avatar billede magnus_madsen Nybegynder
06. januar 2003 - 21:38 Der er 5 kommentarer

Mindre modification

Jeg har denne stump kode, som jeg har nappet et sted fra:
$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);

Jeg vil gerne have dette modificeret sådan at hvis linket bliver over fx 30 tegn, så skærer den det af der og laver "..."

eks:
http://meget.langt.link/blab/bla...

Naturligvis skal hele linket bevares indenfor <a href="">
Avatar billede mufoxe Nybegynder
06. januar 2003 - 22:02 #1
Hvad med
function modString(string) {
if (strlen(string) > 30) {
return substr(string, 1, 30)."..."
}
else
{
return string;
}
}
Avatar billede magnus_madsen Nybegynder
06. januar 2003 - 22:12 #2
Hvordan vil du sætte den ind i preg_replace?
Avatar billede broegaard Nybegynder
06. januar 2003 - 23:21 #3
du vil da også have alt serveret på et sølvfad :)
her:
----------------
function mitlink($string) {
    $link = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1://\\2", $string);
    $navn = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1://\\2", $string);
    if (strlen($navn) > 30) {
        $navn = substr($navn, 1, 30)."...";
    }
    return "<a href='" . $link . ">" . $navn . "</a>";
}

echo mitlink("http://meget.langt.link/blab/bla/bla/blablab/bla/bla/bla/bla.php");
Avatar billede broegaard Nybegynder
06. januar 2003 - 23:37 #4
en lille fejl rettelse:
-----------------
function mitlink($string) {
    $link = preg_replace ("/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i", "\\1://\\2", $string);
    $navn = $link;
    if (strlen($navn) > 30) {
        $navn = substr($navn, 0, 30)."...";
    }
    return "<a href='" . $link . ">" . $navn . "</a>";
}

echo mitlink("http://meget.langt.link/blab/bla/bla/blablab/bla/bla/bla/bla.php");
Avatar billede magnus_madsen Nybegynder
07. januar 2003 - 20:43 #5
Virker ikke broegaard.
Den laver jo alt om til links :/
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

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