Bildgröße aus Link bestimmen...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bildgröße aus Link bestimmen...

    Hi Leutz, habe schon hier im Forum gesucht aber bin bis jetzt nicht uf die Lösung gestoßen.

    Folgendes Problem:

    PHP-Code:
    $string eregi_replace('\[img\]([^\[]*)\[/img\]''<img src="\1" border="0">'$string); 
    Das ist meine Codezeile um Bildcode in meinem Forum zu ermöglichen.
    Besteht jedoch das Problem, dass wenn das Bild zu groß ist, es mir das Forum in der Breite verzieht.

    Von daher wäre es Praktisch zuvor die Bildgröße mit getimagesize() auszulesen, und je nach Ergebnis die Bildbreite zu varieren.

    Allerdings bin ich nicht gerade der Held was Regex betrifft.
    Kann mir einer Sagen wie obigen Code erweitern muss, um den link des Bildes rauszufiltern?

    Mit dem Rest käm ich dann allein klar.

    MFG deschmiddi
    Geht net gibts net...

  • #2
    Das hat mich auch genervt, das was du vor hast war auch mein erster Lösungsansatz. Aber das ist Mist, wie sich nachher herausgestellt hat. Wenn das Bild nicht mehr verfübar ist dauert das alles zu lange, zumindest wenn mehrere Images auszuwerten sind. Ich habs jetzt so gelöst, dass ich schon bei der Eingabe das Image überprüfe, hat allerdings den Nachteil, dass ich bei der Ausgabe nicht mehr überprüfe, ob das Image wirklich exisitert...

    Was auch immer du machst, der Ausdruck könnte Dir weiterhelfen

    PHP-Code:
    if (preg_match("/(\[)(img)(])([^\"]*)(\[\/img\])/siU",  "[IMG]http://www.bla.de/image.jpg[/IMG]"$hits)) echo $hits[4]; 
    Zuletzt geändert von MehrMeerHer; 23.01.2005, 20:16.

    Kommentar


    • #3
      Bekomme die Fehlermeldung unknown modifier 'g'

      es gibt aber doch gar keine Mopdifier 'g'

      Desweiteren wüsst ich gern was bei dir $starttag und $endtag ist...

      Gruß Marc
      Geht net gibts net...

      Kommentar


      • #4
        Bekomme die Fehlermeldung unknown modifier 'g'

        es gibt aber doch gar keine Mopdifier 'g'
        *lol* genau deswegen ja!!!

        naja, escapen wäre mal ne idee. guck dir deine / an und lies auch unserer tutorial.

        $startag udn $endtag sind hier nirgendwo definiert oder verwendet. wieso die frage?

        Kommentar


        • #5
          was meinst du mit escapen...
          ja bin grad im Tut von Húndi aber nen modifier g gibts auch da nicht... seltsam seltsam ???
          Geht net gibts net...

          Kommentar


          • #6
            so sollte es gehen, zur not eben quoten wegen den img tags

            Kommentar


            • #7
              nen backslash davor setzen.

              Kommentar


              • #8
                was meinst du mit escapen...
                das was alle programmierer meinen. wenn du über die suche nichts findest, dann mein ich "abhauen"...

                ja bin grad im Tut von Húndi aber nen modifier g gibts auch da nicht... seltsam seltsam ???
                immer noch nicht gerafft, dass es den natürlich nicht gibt, du ihn aber fälschlicher weise verwendest...

                zur not eben quoten wegen den img tags
                quoten ja, aber nicht wegen den img-tags

                Kommentar


                • #9
                  Boa is hier heut wieder ne stimmung... sorry dass ich dein Fachchinesisch nicht verstehe @ ToBiAZ

                  Du musst ja nix antworten wenns dir zu viel ist.
                  Also werd dann mal versuchen rauszufinden was zuviel ist.
                  Geht net gibts net...

                  Kommentar


                  • #10
                    Du musst ja nix antworten wenns dir zu viel ist.
                    Du musst ja nicht posten, wenn du suchst! :P

                    Kommentar


                    • #11
                      dann nochmal im codetag...so gehts bei mir
                      Code:
                      if (preg_match("/(\[)(img)(])([^\"]*)(\[\/img\])/siU",  "[IMG]http://www.bla.de/image.jpg[/IMG]", $hits)) echo $hits[4];

                      Kommentar


                      • #12
                        funzt soweit
                        Jetzt versteh ich auch wo der Fehler lag *lol*
                        Jetzt muss ich nur noch schauen warum bei mir $hits[4] leer ist.
                        Geht net gibts net...

                        Kommentar


                        • #13
                          hint: print_r();

                          Kommentar


                          • #14

                            So die Überprüfung für die Breite eines Bildes im Forum steht nun.
                            Hier der fertige Code, falls sonst noch jemand auf der Suche nach so etwas ist.

                            PHP-Code:
                            $hits eregi_replace('\[img\]([^\[]*)\[/img\]''\\1'$string);
                                    
                            $img = @imagecreatefromgif($hits);
                                    if (
                            $img) {
                                        if(
                            imagesy($img) > "400") {
                                          
                            $width "width = \"400\"";
                                        } 
                                        else {
                                          
                            $width "";
                                        }
                                    }
                                    
                            $img = @imagecreatefromjpeg($hits);
                                    if (
                            $img) {
                                        if(
                            imagesy($img) > "400") {
                                          
                            $width "width = \"400\"";
                                        } 
                                        else {
                                          
                            $width "";
                                        }
                                    }
                                    
                            $img = @imagecreatefrompng($hits);
                                    if (
                            $img) {
                                        if(
                            imagesy($img) > "400") {
                                          
                            $width "width = \"400\"";
                                        } 
                                        else {
                                          
                            $width "";
                                        }
                                    }
                                    
                            $string eregi_replace('\[img\]([^\[]*)\[/img\]''<img src="\\1" '.$width.' border="0">'$string); 
                            Geht net gibts net...

                            Kommentar


                            • #15
                              etwas zu redundant, aber ok.

                              Kommentar

                              Lädt...
                              X