Willkommen in der Webstatt Zum Webstatt Blog und Stories
Julian am 25.09.06 15:21

Ich möchte in meinem Forum den [IMG]- BBCode etwas spezieller bearbeiten.

Und zwar soll man Grafiken einbinden können "[IMG]url.jpg[/URL]".
Das kann natürlich theoretisch unendlich mal im Beitrag vorkommen. Ich möchte jetzt für jede Grafik die Breite und Höhe überprüfen und dann auch bei Bedarf (wenn's zu breit ist) anpassen.
Hat jemand eine Idee wie sowas aussehen könnte? Bilddaten auslesen ist kein Problem, nur ich häng bei der Schleife oder whatever ...

Hab mich mal an einigen Sachen probiert und viel rumgebastelt, aber ich hab mich da jetzt total festgefahren. Hier mal ein Versuch (von vielen), klappt leider auch net. Irgendein Logikfehler ^^

if(eregi("\[IMG\]", $text)) {
preg_match_all("/\[IMG\](.*?)\[\/IMG\]/si", $text, $gfx);
foreach($gfx[0] as $id =>$value) {
$info = getimagesize($gfx[1][$id]);
$width = "330";
if($info[0] < $width) {
$text = preg_replace("/\[IMG\](.*?)\[\/IMG\]/si",
"<p align=\"center\"><img src=\"\\1\" width=\"".$info[0]."\" height=\"".$info[1]."\" border=\"0\" alt=\"\" /></p>", $text);
} else {
$height = round($info[1]/($info[0]/$width));
$text = preg_replace("/\[IMG\](.*?)\[\/IMG\]/si",
"<p align=\"center\"><a href=\"\\1\" target=\"_blank\">
<img src=\"\\1\" width=\"".$width."\" height=\"".$height."\" border=\"0\" alt=\"\" title=\"größere Ansicht\" />
<span class=\"smallfont\">Größere Ansicht</span></a></p>", $text);
}
}
}


Am besten Ihr überseht den Versuch einfach, denn die Methode ist irgendwie komplett falsch. Wollte den Quellcode nur mal zeigen, damit ihr (hoffentlich) wisst was ich vorhab^^

netcup.de Warum gibt es hier Werbung?
milahu milahu am 25.09.06 21:24

Hier wäre JavaScript das passendere Werkzeug -- das WBB macht's IMHO auch so, kannst ja mal spicken ;)

Julian am 26.09.06 11:11

hui, das ist eine ziemlich hübsche Methode. thx :]

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt