php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.09.2005, 17:03  
Gast
 
Beiträge: n/a
Standard img resize (thumbnails) mit bbcode

moin,

ich habe hier ein problem mit einem script, dass bilder über den "bbcode" verkleinert. also der text wird ausgelesen, dass script sucht, wo die max größe überschritten wird, und erstellt dann ein thumbail davon, beim klick auf das bild sieht man dann die vollversion. ich und mein kollege ärgern uns jetzt schon seit mehreren tagen damit rum, mittlerweile sind wir zwar schon soweit, dass alle bilder verkleinert werden, dabei hat uns übrigens der suchparamater /Uism geholfen bei preg_replace. denn davor, also ohne /Uism hat das script den gesamten inhalt zwischen {img} und {/img} als das bild angesehen, der suchparamater schaut halt noch, ob danach noch was kommt. jedoch werden jetzt alle bilder auf die selbe größe verkleinert wie vom ersten bild. hier ist der code vom script:

PHP-Code:
<?php


class imgdata
{
    var 
$_width;
    var 
$_height;
    
    function 
width($img)
    {
        
$maxw 300# maximal width
    
        
$id getimagesize($img);
        
$data explode("\""$id[3]);
        
$width $data[1];
        
$height $data[3];
    
        if(
$width $maxw)
        {
            
$div $width/$maxw;
            
$height $height/$div;
            
$width $maxw;
        }
        
        
        
$this->_width $width;
        return 
$this->_width;
    }
    
    function 
height($img)
    {
        
$maxw 300# maximal width
    
        
$id getimagesize($img);
        
$data explode("\""$id[3]);
        
$width $data[1];
        
$height $data[3];
    
        if(
$width $maxw)
        {
            
$div $width/$maxw;
            
$height $height/$div;
            
$width $maxw;
        }
        
        
        
$this->_height $height;
        return 
$this->_height;
    }
}

    
$imgdata = new imgdata;
    



if(
preg_match("/\[img\](.*)\[\/img\]/Uism"$text$args))
{
    
$img trim($args[1]);
    
$text preg_replace("/\[img\](.*)\[\/img\]/Uism""<a href=\"\$1\" target=\"_blank\"><img src=\"\\1\" width=\"".$imgdata->width($img)."\" height=\"".$imgdata->height($img)."\" title=\"Klicken, um das Bild in Originalgröße zu sehen!\" border=\"0\"></a>"$text);
}

echo 
$text;
?>
ich wäre sehr dankbar, wenn uns mal jemand einen tipp geben könnte oder wie wir das problem lösen könnten.

grüße,
feanor
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.10.2005, 00:47  
Gast
 
Beiträge: n/a
Standard

Bezüglich [img] hatte ich mal diese Variante versucht:
http://www.cix88.de/cix_php/php_rege...bbcode_img.php

Zitat:
wie wir das problem lösen könnten
Ja was geht denn nu nicht ?
  Mit Zitat antworten
Alt 01.10.2005, 00:49  
Erfahrener Benutzer
 
Registriert seit: 07.07.2005
Beiträge: 150
sysop
sysop eine Nachricht über ICQ schicken
Standard

PHP-Code:
<?php

function bbcode($text)
{

    
$text preg_replace("#\[img\](.+?)\[\/img\]#esi","imgsize('\\1')",$text);

    return 
$text;
}

function 
imgsize($code)
{

    
$hoch 150// max hoehe
    
$breit 150// max breite

    
$rsize getimagesize($code); // originalgroesse herausfinden

    
if(trim(chop($rsize[1])) <= $hoch and trim(chop($rsize[0])) <= $breit)
    {
        
$hoch trim(chop($rsize[1]));
        
$breit trim(chop($rsize[0]));
    }
    
// wenn bild igendwie groesser
    
else
    {
        
$prozh $hoch/$rsize[1];
        
$prozw $breit/$rsize[0];
        if(
$prozh $prozw$proz $prozw;
        else 
$proz $prozh;
        
$hoch $rsize[1]*$proz;
        
$breit $rsize[0]*$proz;
    }

    
$pic '[url="'.$code.'"][img]'.$code.'[/img][/url]';
    return 
$pic;
}

echo 
bbcode("[ img]bildlink[ /img]");
?>
der echo-befehl wird natürlich für jedes bild einzeln übergeben (na klar, ist eigentlich logisch)
__________________
gruss sys
sysop ist offline   Mit Zitat antworten
Alt 01.10.2005, 00:54  
Gast
 
Beiträge: n/a
Standard

Zitat:
$text = preg_replace("#\[img\](.+?)\[\/img\]#esi","imgsize('\\1')",$text);
Oh oh, der reguläre Ausdruck stimmt aber nicht ganz.

+? -> Schwachsinn
"imgsize('\\1')" -> dann ohne doppelte Anführungszeichen

(.+) und Modifer iseU, und mehr nicht, sofern man nicht die Dateiendung prüfen will.
  Mit Zitat antworten
Alt 01.10.2005, 01:20  
Erfahrener Benutzer
 
Registriert seit: 07.07.2005
Beiträge: 150
sysop
sysop eine Nachricht über ICQ schicken
Standard

ohne doppelte anführungszeichen sollte ein parse error kommen
__________________
gruss sys
sysop ist offline   Mit Zitat antworten
Alt 01.10.2005, 01:30  
Gast
 
Beiträge: n/a
Standard

achso stimmt ja, sorry hab ich auch mal gepennt ...
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
BBCode - ähnliche Markup-Language für Redaktionssystem horstenpeter PHP Tipps 2006 3 17.08.2006 18:44
temporäre thumbnails lindner PHP Tipps 2006 5 20.06.2006 07:40
BBCode mit eregi_replace(); ändert nur letztes Vorkommen Blank PHP Tipps 2006 6 12.04.2006 14:58
thumbnails erzeugen malabarista PHP Tipps 2006 2 28.03.2006 13:10
BBCode Parser Mutatos PHP Tipps 2006 1 05.01.2006 12:19
BBCode Realisierung - Code Andun PHP-Fortgeschrittene 10 18.12.2005 21:09
[Erledigt] Problem mit BBCode PHP Tipps 2007 6 30.11.2005 17:26
BBCode umwandeln GSJLink PHP Tipps 2005-2 7 13.08.2005 16:29
bbcode verachtet anderen bbcode phpfortgeschrittener PHP Tipps 2005-2 7 04.08.2005 00:42
BBCode - Listen und Tabellen inu PHP Tipps 2005 11 22.03.2005 10:37
BBCode und htmlspecialchars PHP Tipps 2005 5 21.02.2005 20:10
thumbnails erzeugen PHP Tipps 2004-2 12 22.12.2004 16:34
Thumbnails werden Fablich verfäscht :( PHP Tipps 2004-2 4 24.11.2004 10:58
thumbnails streamen spoi PHP Tipps 2004-2 5 16.11.2004 12:46
thumbnails im PHP-Safe Mode PHP-Fortgeschrittene 2 16.08.2004 13:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bbcode img resize, bbcode img, php img resize, img resize php, http://www.php.de/php-fortgeschrittene/31690-img-resize-thumbnails-mit-bbcode.html, img resize, imgresize, php img width bbcode parsen, [img] size bbcode, php bbcode thumbnail, bilder als thumbnail bbcode, preg_replace(\'<img, php preg_replace enlarge img, bilder verkleinern mit imgresize, preg_replace img, img bbcode resize php, bbcode img thumbnail, img resize data, preg_replace img resize, img maxw php

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:44 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.