bbcode für Grafik

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

  • bbcode für Grafik

    Ich bin auf der Suche nach einem Lösungsansatz für einen bbcode für Grafiken.
    Den bbcode umzuwandeln ist kein Problem, allerdings muss ich die Größe des Bildes beschränken können. Ich könnte da einfach einen Wert eintragen, allerdings werden dann Grafiken die nicht so breit sind gestreckt, was nicht so toll ist.
    Die Funktion imagesx() um die Breite der Grafik zu ermitteln ist mir auch bekannt. Nur wie baue ich jetzt die Funktion in die Stringfunction ein?

    PHP-Code:
    function resize_img($url)
    {
        
    $width imagesx($url);

             if(
    $width >= "270")
             {
            return 
    "270";
             }


    }

    preg_replace"/\[IMG\](.*?)\[\/IMG\]/is"
    "<a href=\"http://$1\" target=\"_blank\"><img src=\"$1\" border=\"0\" width=\"260\"></a>",
    $eintrag); 

  • #2
    Nimm das preg_replace mit in die Funktion rein..

    PHP-Code:
    if($width >= "270")
    {
            
    preg_replace// mit width 270 );

    else
    {
            
    preg_replace// ohne width );

    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Hmm gute Idee, aber da hab ich das Problem, das ich erst die URL der Grafik auslesen muss, um festzustellen wie breit die Grafik ist. An dem Punkt steh ich irgendwie aufm Schlauch (also die Kombination von URL auslesen und Breite festsetzen).

      Kommentar


      • #4
        Du stehst wirklich auf dem Schlauch. Du sollst das preg_replace mit in die funktion reinnehmen.. Muss ich dir das jetz wirklich vorkauen?


        PHP-Code:
        function sinniger_funktionsname($url)
        {
            
        $width imagesx($url);

             if(
        $width >= "270")
            {
                
        preg_replace// mit width 270 );
            

            else
            {
                
        preg_replace// ohne width );
            
        }   

        Oder einfach Ohne eine Funktion...

        PHP-Code:
        if (imagesx($url) >= "270")
        {
            
        preg_replace// mit width 270 );

        else
        {
            
        preg_replace// ohne width );

        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          lass die function resize_img() so, wie sie am Anfang war und
          mach aus dem preg_replace
          PHP-Code:
          preg_replace"/[IMG](.*?)[/IMG]/is"
          "<a href=\"http://$1\" target=\"_blank\"><img src=\"$1\"
          border=\"0\" width=\""
          .resize_img("http://$1")."\"></a>",
          $eintrag); 
          Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

          Kommentar


          • #6
            @hhcm

            $url extrahiert er doch erst im preg_replace, wie soll er da vorher
            imagesx($url) aufrufen können
            oder er macht vorher noch ein preg_match, wäre aber überflüssig, s.o.
            Zuletzt geändert von thommyk; 07.12.2005, 15:42.
            Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

            Kommentar


            • #7
              Ja das hab ich wohl auch gerade bemerkt
              gruss Chris

              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

              Kommentar


              • #8
                Wie wär's mit dem Modifer e bei preg_replace oder einem preg_replace_callback?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  @thommyk ich glaub das bringts! Hab die ganze Zeit die Funktion flasch in der preg_replace Funktion eingebaut.

                  @hhcm manchmal redet man halt einfach an einander vorbei

                  Kommentar


                  • #10
                    Mist! Funzt nicht! Der schickt den Wert der Varaible net mit!
                    Es wird immer http://$1 an die Funktion übergeben!

                    PHP-Code:
                    preg_replace"/[IMG](.*?)[/IMG]/is"
                    "<a href=\"http://$1\" target=\"_blank\"><img src=\"$1\"
                    border=\"0\" width=\""
                    .resize_img("http://$1")."\"></a>",
                    $eintrag); 

                    Kommentar


                    • #11
                      Original geschrieben von mrhappiness
                      Wie wär's mit dem Modifer e bei preg_replace oder einem preg_replace_callback?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Danke für den Tip! Es funzt jetzt!
                        PHP-Code:
                        function bb_img($img)
                        {
                            
                        $width getimagesize($img[1]);

                            if(
                        $width[0] >= "260")
                            {
                                    return 
                        "<a href=\"http://$img[1]\" target=\"_blank\"><img src=\"$img[1]\" border=\"0\" width=\"260\"></a>";
                            }
                            else
                            {
                                    return 
                        "<a href=\"http://$img[1]\" target=\"_blank\"><img src=\"$img[1]\" border=\"0\"></a>";
                            }
                        }



                        echo 
                        preg_replace_callback("/\[IMG\](.*?)\[\/IMG\]/is""bb_img"$eintrag); 

                        Kommentar

                        Lädt...
                        X