replace für Bild im Gästebuch !

Creere

Mitglied
Hallo,
Ich arbeite jetz schon an ein paar Tagen an meinem Gästebuch.
Und nun hab ich eine Bildfunktion eingebaut bei welcher man mit
Bilder ins Gästebuch setzen kann. Nur ist das Problem
das wenn das Bild zu groß ist das Layout kaputt geht..
Ich hab hier schon einen Thread gefunden indem es darum geht
aber ich kapiere das mit dem replace nicht ganz.

Code:
PHP:
<?php
	$_POST['text'] = preg_replace("|\[B\](.*)\[/B\]|Uism","<b>$1</b>",$_POST['text']);
	$_POST['text'] = preg_replace("|\[U\](.*)\[/U\]|Uism","<u>$1</u>",$_POST['text']);
	$bild = preg_replace("|\[IMG\](.*)\[/IMG\]|Uism","$1",$_POST['text']);
	
	$maxsize=400;
	$bildgroesse=getimagesize($bild);
    $hoehe = $bildgroesse[1];
    $breite = $bildgroesse[0];
	
if($hoehe > $maxsize OR $breite > $maxsize) {
    $bildausgabe = '<a href="'.$bild.'" target="_blanc">Mitglieder Grafik</a>';
} else {
	$bildausgabe = '<img src="'.$bild.'" width="'.$breite.'" height="'.$hoehe.'">';
}

	$_POST['text'] = preg_replace("|\[IMG\](.*)\[/IMG\]|Uism","<p>$bildausgabe</p>",$_POST['text']);
?>

Ich hoffe jemand kennt sich damit etwas aus ich möchte das er es so ersetzt,
dass wenn das Bild größer als 400 px in Höhe und Breite ist, damit er dann
einfach den link Mitglieder Grafik anzeigt der auf das Bild verweist.

Danke im Voraus Creere !
 
Creere hat gesagt.:
$_POST['text'] = preg_replace("|\[B\](.*)\[/B\]|Uism","<b>$1</b>",$_POST['text']);
$_POST['text'] = preg_replace("|\[U\](.*)\[/U\]|Uism","<u>$1</u>",$_POST['text']);
$bild = preg_replace("|\[IMG\](.*)\[/IMG\]|Uism","$1",$_POST['text']);

So, ich versuch mich mal am Interpretieren, wobei ich zugeben muss, dass ich auch nicht alles verstehe:
preg_replace: Sucht und ersetzt einen regulären Ausdruck, in diesem Fall einen VBCode, der wohl irgendetwas fettgedrucktes ausgibt und erstetz diesen durch HTML - Code. Das gleiche drunter mit unterstrichenem Text und dem IMG - Tag...was $1 genau ist, weiß ich nicht, vermute aber einfach mal der Inhalt zwischen den Tags. Das würde dann auch bei dem Befehl getimagesize($bild) Sinn geben:

$maxsize=400;
$bildgroesse=getimagesize($bild);
$hoehe = $bildgroesse[1];
$breite = $bildgroesse[0];

Dadruch, dass die Informationen nur in $bild gespeichert wurden, muss er das zusammengebaute Image im <img> - Tag noch im Originaltext $_POST["text"] ersetzen, um dann einen reinen HTML - Code in $_POST["text"] zu erhalten.

$_POST['text'] = preg_replace("|\[IMG\](.*)\[/IMG\]|Uism","<p>$bildausgabe</p>",$_POST['text']);

Das einzige, wobei ich dir nicht helfen kann, ist die Definition der regulären Ausdrücke in preg_replace() ... aber ich denke mal, so wie ich es aus der Vorlesung noch weiß:
| | <- Definitionsbereich
\ <- könnte dieser Slash sein, den du auch bei php - echo() zb. brauchst echo "\"bla\"" =
"bla"
[] <- vb - tags
(.*) <- wildcard (schreibt man das so?) "egal was dazwischen ist"

So, ich hoffe mal, ich konnte dir ein bisschen helfen und hoffe auch, dass zumindest etwas von dem ganzen stimmt ;)
 
Zurück