Hi.. Ich habe ein kleines Problem in meinem kleinem Forum.. Und zwar habe ich eine Replace Funktion drin mit der Bilder über einen Code eingefügt werden können ! Das FUnktioniert auch ohne Probleme.. jetzt kommt: Der text wird über eine Textarea in die DB eingetragen. wenn ich nun in die erste Zeile der textarea mein [IMG] Bild mache.. wird bei der Ausgabe nur der Text dagestellt.. sprich [IMG.]http://www.meinbild.de/bild.jpg[/IMG.] Wenn ich nun aber in der Eingabe sprich in der Textarea eine Leerzeile vor der [IMG] Zeile mache, geht alles ohne Probleme... woran kann das liegen ?? Hoffe ihr könnt mir Helfen..
Meine Replace Funktion :
PHP-Code:
function replaceMessage($message) {
$message = strip_tags($message, '<b></b><i></i><u></u><a></a><img>');
$message = str_replace ("\n", "<BR>", "$message");
$message = str_replace("[singleQuote]", "'", $message);
$message = str_replace("[doubleQuote]", "\"", $message);
$message = str_replace ("[u]", "<U>", "$message");
$message = str_replace ("[/u]", "</U>", "$message");
$message = str_replace ("[img]", "[IMG]", "$message");
$message = str_replace ("[/img]", "[/IMG]", "$message");
$message = str_replace ("[B]", "<B>", "$message");
$message = str_replace ("[/B]", "</B>", "$message");
$message = replaceImg($message);
return $message;
}
function replaceImg($message) {
if (strpos($message, "[IMG]")){
$begImg = strpos($message, "[IMG]");
$endImg = strpos($message, "[/IMG]");
$img = substr($message, $begImg, $endImg-$begImg+6);
$link = substr($img, 5, $endImg - $begImg -5);
$fileinfos = getimagesize($link);
$type = $fileinfos[2]; // 2 = JPG
$breite = $fileinfos[0];
$hoehe = $fileinfos[1];
if($type=="1") {
$type = "GIF";
} else if($type=="2") {
$type = "JPG";
} else if($type=="3") {
$type = "PNG";
}
if($breite > "500") {
$htmlImg = "<a href=$link target='_blank'><img src=$link border='1' width='500'></a><br>Breite: $breite - Höhe: $hoehe - Type: $type";
} else {
$htmlImg = "<img src=$link border='1'>";
}
$message = str_replace($img, $htmlImg, $message);
$message = replaceImg($message);
}
return $message;
}
Die Ausgabe ist dann :
PHP-Code:
$text = replaceMessage($text);
echo "$text";