Avatar billede davidskp Nybegynder
19. april 2008 - 21:57 Der er 2 kommentarer og
1 løsning

Forkorte link tekst

Jeg bruger dette script fra php.net til at lave tekst om til links i mit forum:

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

Men jeg vil gerne ha at det viste link forkortes da de lange links fylder for meget.

Kan man bruge substr på en eller anden måde til at forkorte det viste link?
Avatar billede schaefner Juniormester
19. april 2008 - 22:41 #1
Avatar billede davidskp Nybegynder
19. april 2008 - 23:05 #2
hm jeg har prøvet at bruge din funktion på min side og den laver da også links om som den skal...men den læser ikke resten af siden ind - koden 'exiter' lige efter den div hvor teksten står...

Her er koden:

  function shortLink($url, $len=30)
  {
    $return  = "<a href=\"".$url."\">";
    $return .= (strlen($url) > $len) ? substr($url, 0, $len)." [...]" : $url;
    $return .= "</a>";

    return $return;
  }

  $row[content] = preg_replace("/[[:alpha:]]+:\/\/[^<>[:space:]]+[[:alnum:]\/]/e", "shortLink('\\0', 30)", $row[content]);
Avatar billede davidskp Nybegynder
19. april 2008 - 23:23 #3
nevermind det var mig som havde lagt funktionen ind i mit loop....det er nu fixet og det virker som det skal :)

tak for hjælpen :)

og har har modificeret det lidt så man nu ser de sidste 5 tegn i linket også:

$return .= (strlen($url) > $len+5) ? substr($url, 0, $len)."...". substr($url, -5) : $url;
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