Ich hätte noch ein Problem. Und zwar zu ein paar anderen Funktionen die ich einbinden wollte. Und zwar binde ich sie so ein:
Die Funktionen sehen so aus:
und ...
So wird allerdings bei der Textausgabe gar nichts mehr angezeigt.
PHP:
if($page == "verschiedenes") {
$abfrage = "SELECT * FROM mitglieder WHERE nick = '$nick'";
$ergebnis = mysql_query($abfrage) OR die(mysql_error() );
if ($row = mysql_fetch_assoc($ergebnis) ) {
$text = $row['frei'];
include ("pageersetzen.php");
echo "<div algin='center'>
".nl2br(smilies(linkLenght(picSize($text))))."
";
}
}
Die Funktionen sehen so aus:
PHP:
// Prüft die Linklänge und passt sie gegebenenfalls an
// wird für preg_replace_callback definiert
function linkLenght($treffer)
{
// $treffer[1] ist die URL
$url = trim($treffer[1]);
// $treffer[2] ist der Ausgabename
// wurde kein Name angegeben, wird die URL als Name gewählt
if(strlen(trim($treffer[2]))!=0)
$linkname = $treffer[2];
else
$linkname = $treffer[1];
// legt eine maximale Länge von 50 Zeichen fest
// Ausnahme bei [img]-Tags
if(strlen($linkname)>50 AND !substr_count(strtolower($linkname), '[ img]') AND !substr_count(strtolower($linkname), '[ /img]'))
$linkname = substr($linkname, 0, 45-3)."...".substr($linkname, -5);
// Rückgabelink
$ergebnis = "<a href=\"".$url."\" target=\"_blank\">".$linkname."</a>";
return $ergebnis;
}
und ...
PHP:
// Prüft die Bildausmaße und passt sie gegebenenfalls an
// wird für preg_replace_callback definiert
function picSize($treffer)
{
// falls keine gültige Adresse angegeben wurde, wird die Fehlermeldung unterdrückt
$size = @getimagesize($treffer[1]);
if ($size[0] > 400) {
$width = 400;
// Höhe berechnen
$height = ($size[1]/$size[0])*$width;
return " <img src=\"".$treffer[1]."\" width=\"".$width."\" height=\"".$height."\" border=\"0\"> ";
}
else
return " <img src=\"".$treffer[1]."\" border=\"0\"> ";
}
So wird allerdings bei der Textausgabe gar nichts mehr angezeigt.