Seite 1 von 2
Links im Beitrag sind zu lang
Verfasst: 17.08.2003 21:16
von Eclipse16V
Hab da mal ne Frage. Gibt es eine Möglichkeit wenn jemand einen Link in einem Beitrag eingibt diesen zu trennen so das er nicht in einer Zeile steht und das Design sprengt sondern zu teilen so das das Design nicht zerstört wird.
Verfasst: 17.08.2003 21:18
von Henne
Gewöhne deinen Leuten an, dass sie mit dem BBCode arbeiten
Code: Alles auswählen
[url=http://www.phpbb.de/undnochwasganzlanges]phpBB.de[/url]
Das Problem bei den URLs ist, dass man keinen Zeilenumbruch einfügen kann...
Verfasst: 17.08.2003 21:24
von Eclipse16V
toll genau das wollte ich vermeiden.
Verfasst: 17.08.2003 21:30
von Henne
Oder man müsste mit ner Funktion arbeiten, die die URL kürzt und dann automatisch nen BBCode von macht.
Verfasst: 17.08.2003 22:02
von Eclipse16V
Ja so was wie wenn man eine Url eingibt automatisch in den BBCode URL umwandelt und als Testlink "Hier gehts weiter" schreibt.
Verfasst: 18.08.2003 11:04
von MrCruiser
Hatte vor kurzem das gleiche Problem wie du und habe es so auch gelöst bekommen. Bei mir werden die Wörter nach 80 Zeichen getrennt. Probier es einfach mal aus:
http://www.phpbb.de/viewtopic.php?p=185161#185161
Verfasst: 18.08.2003 20:53
von SevenIsMy
finde in bbcode.php:
Code: Alles auswählen
// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
// xxxx can only be alpha characters.
// yyyy is anything up to the first space, newline, comma, double quote or <
$ret = preg_replace("#(^|[\n ])([\w]+?://.*?[^ \"\n\r\t<]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\-]+\.[\w\-.\~]+(?:/[^ \"\t\n\r<]*)?)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
und ersertze es durch
Code: Alles auswählen
// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
// xxxx can only be alpha characters.
// yyyy is anything up to the first space, newline, comma, double quote or <
$ret = preg_replace_callback("#(^|[\n ])([\w]+?://.*?[^ \"\n\r\t<]*)#is", 'http_url_callback', $ret);
// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.
$ret = preg_replace_callback("#(^|[\n ])((www|ftp)\.[\w\-]+\.[\w\-.\~]+(?:/[^ \"\t\n\r<]*)?)#is", 'url_callback', $ret);
finde:
und füge danach ein
Code: Alles auswählen
function http_url_callback($m)
{
$t = $m[2];
if(strlen($m[2]) > 110)
{
$rechts = substr($m[2], 0, 50);
$links = substr($m[2], strlen($m[2]) - 50, 50);
$t = $rechts.' ....... '.$links;
}
return $m[1]."<a href=\"".$m[2]."\" target=\"_blank\" class=\"postlink\">".$t."</a>";
}
function url_callback($m)
{
$t = $m[2];
if(strlen($m[2]) > 110)
{
$rechts = substr($m[2], 0, 50);
$links = substr($m[2], strlen($m[2]) - 50, 50);
$t = $rechts.' ....... '.$links;
}
return $m[1]."<a href=\"http://".$m[2]."\" target=\"_blank\" class=\"postlink\">".$t."</a>";
}
Verfasst: 18.08.2003 21:37
von Eclipse16V
also ich finde bei mir nur das:
Code: Alles auswählen
// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
// xxxx can only be alpha characters.
// yyyy is anything up to the first space, newline, comma, double quote or <
$ret = preg_replace("#([\t\r\n ])([a-z0-9]+?){1}://([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)#i", '\1<a href="\2://\3" target="_blank">\2://\3</a>', $ret);
// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.
$ret = preg_replace("#([\t\r\n ])(www|ftp)\.(([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)#i", '\1<a href="http://\2.\3" target="_blank">\2.\3</a>', $ret);
Soll ich das einfach so ersstzen oder nicht? Ist danderster als die oben stehende.
Verfasst: 19.08.2003 07:13
von SevenIsMy
liegt daran das du mit 2.04 arbeitest, kanns es ersetzen würde mich wundern wenn es dadurch zu problemen kommt
Verfasst: 19.08.2003 16:07
von frozenAntilope
@SevenIsMy
was mach der von dir oben gepostete code? (etwas verwirrt)
mfg
jan