Code Optimierung

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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);
    ?>
    Last edited by FragmasterIII; 01-08-2006, 23:00.


    jaja die CDU! direckt wie immer XD

    Comment


    • #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); 

      Comment


      • #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

        Comment


        • #5
          scherzkeks, du verkettest strings mit einem array, außerdem hast du den zweiten begrenzer vertauscht.
          und überhaupt, das ganze ding ist blödsinn ...
          Last edited by 3DMax; 01-08-2006, 23:45.

          Comment


          • #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)

            Comment


            • #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

              Comment

              Working...
              X