Code Optimierung

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

  • Code Optimierung

    Hi zusammen,

    Okay, ich habe hier zusammengeschusterten Code welcher auch funktioniert, nun würde es mich freuen wenn ihr drüberschauen würdet und mir Verbesserungsvorschläge geben würdet, danke schon mal im voraus.

    Teil meiner mailmessages.php Datei:

    Code:
    include 'smileygen.php';
    
    $t->assign('grpmsg',$grpmsg);
    $t->assign('selflag', $selflag);
    $t->assign('folder', $folder);
    $t->assign( 'lang', $lang );
    $t->assign( 'sort_type', checkSortType( $_GET['type'] ) );
    $t->assign( 'data', $data );
    $t->assign( 'rmessage', $rmessage );
    Meine smileygen.php (Hier lässt sich sicherlich was verbessern?)

    Code:
    <?php
    //PATH WHERE THE GIF Pictures are
    $hdl = "<img src='/mdates/templates/default-blue/images/hdl.gif'>";
    $smile = "<img src='/mdates/templates/default-blue/images/smile.gif'>";
    $angry = "<img src='/mdates/templates/default-blue/images/angry.gif'>";
    
    $zeichenkette = $data[message];
    
    $suchmuster[0] = '/:hdl:/';
    $suchmuster[1] = '/:smile/';
    $suchmuster[2] = '/:angry/';
    
    $ersetzungen[0] = $hdl;
    $ersetzungen[1] = $smile;
    $ersetzungen[2] = $angry;
    
    $rmessage = preg_replace($suchmuster, $ersetzungen, $zeichenkette);
    ?>
    Soo ... vor allem wäre es fein wenn man wenn man ein Smiley hinzufügt nicht an 1000 Stellen ändern müsste, aber wenn ich alle smiley's in meine mailmessages.php direkt reinschreibe wird die auch sehr unübersichtlich, wie gesagt, das hier ist eine funktionierende Lösung, sicher keine optimale.

    Vielleicht fällt dem ein oder anderen ja was dazu ein, würd mich freuen.

    Grüße,
    Matthias

  • #2
    probier das mal XD
    ist leichter hier neue einzufügen.

    PHP-Code:
    <?php

    //Hier einfach die weiteren smilies einfügen ^^
    $smile[0] = "smile";
    $smile[1] = "hdl";
    $smile[2] = "angry";

    $zeichenkette $data[message];
    $aktuell 0;

    foreach(
    $smile as $smile_aktuell){
    $suchmuster[$aktuell] = "/:".$smile_aktuell.":/";
    $ersetzungen[$aktuell] = "<img src='/mdates/templates/default-blue/images/".$smile_aktuell.".gif'>";
    }

    $rmessage preg_replace($suchmuster$ersetzungen$zeichenkette);
    ?>
    Zuletzt geändert von FragmasterIII; 02.08.2006, 00:00.


    jaja die CDU! direckt wie immer XD

    Kommentar


    • #3
      ich hab ne kürze variante

      PHP-Code:
      // Smiliebezeichnungen in Klammern setzen, damit per $1 zugegriffen werden kann
      // also (hdl) ... ich bekomms nicht hin, ohne dass es das Forum zerschießt!!
      $suchmuster[0] = '/:hdl:/';
      $suchmuster[1] = '/:smile/';
      $suchmuster[2] = '/:angry/';

      $rmessage=preg_replace($suchmuster,"<img src=\"/mdates/templates/default-blue/images/$1.gif\">",$zeichenkette); 

      Kommentar


      • #4
        PHP-Code:
        <?php

        //Hier einfach die weiteren smilies einfügen ^^
        $smile[0] = "smile";
        $smile[1] = "hdl";
        $smile[2] = "angry";

        $zeichenkette $data[message];

        $rmessage=preg_replace("/:".$smile."/:","<img src=\"/mdates/templates/default-blue/images/".$smile.".gif\">",$zeichenkette);
        :P


        jaja die CDU! direckt wie immer XD

        Kommentar


        • #5
          scherzkeks, du verkettest strings mit einem array, außerdem hast du den zweiten begrenzer vertauscht.
          und überhaupt, das ganze ding ist blödsinn ...
          Zuletzt geändert von 3DMax; 02.08.2006, 00:45.

          Kommentar


          • #6
            Tipp:
            Wenn jedes Element aus dem ersten Array ein entsprechendes Gegenüber in Array 2 hat, dann brauchst du kein preg_replace sondern kannst auch str_replace() nehmen (diese Fkt kommt sehr gut mit Arrays zurecht)
            PHP-Code:
            $suchmuster[0] = '/:hdl:/';
            $suchmuster[1] = '/:smile/';
            $suchmuster[2] = '/:angry/';

            $ersetzungen[0] = 'hdl';
            $ersetzungen[1] = 'smilie';
            $ersetzungen[2] = 'angry';

            str_replace($suchmuster,'<img src="/mdates/templates/default-blue/images/'.$ersetzungen.'.gif" />',$string); 
            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Morgen,

              Wow, was da auf einmal für ne Flut an Tips kommt, danke Leute! Werde die nachher sobald ich in der Arbeit bin testen.

              Grüße,
              Matze

              Kommentar

              Lädt...
              X