Code: Alles auswählen
----- öffne includes/bbcode.php
----- finde -----
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
----- füge danach ein ----
// Remove long url
$ret = preg_replace("/<a href=(.*?)>((http:\/\/|https:\/\/|ftp:\/\/|www\.).*?)<\/a>/ie", "(strlen(\"\\2\") > 65 && !eregi(\"<\", \"\\2\") ) ? '<a href='.stripslashes(\"\\1\").'>'.substr(\"\\2\", 0, 35) . '....' . substr(\"\\2\", -25).'</a>' : '<a href='.stripslashes(\"\\1\").'>'.\"\\2\".'</a>'", $ret);
Es wird nach den (bereits in html-code umgewandelten) Links gesucht und geprüft ob der Linktext (also das zwischen <a> und </a>) eine url ist und ob er länger als 65 Zeichen ist. Dann werden vom Anfang 35 Zeichen genommen, daran werden 4 Punkte gehängt (....). Hinten werden dann noch die letzten -25 Zeichen drangehängt und fertig ist der kurze Link.$ret = preg_replace("/<a href=(.*?)>((http:\/\/|https:\/\/|ftp:\/\/|www\.).*?)<\/a>/ie", "(strlen(\"\\2\") > 65 && !eregi(\"<\", \"\\2\") ) ? '<a href='.stripslashes(\"\\1\").'>'.substr(\"\\2\", 0, 35) . '....' . substr(\"\\2\", -25).'</a>' : '<a href='.stripslashes(\"\\1\").'>'.\"\\2\".'</a>'", $ret);

Die letzten Zeichen deshalb, damit man erkennen kann was man da eigentlich anklickt (also z.B. html, zip, exe, usw.)
Durch verändern der Werte kann man das Verhalten wie gewünscht anpassen.