[PERL] Reguläre Ausdrücke



  • Hi!

    Ich will das Ersetzen der Smilies durch die Bildchen verbessern und übersichtlicher gestalten. Darum hab ich zwei Array angelegt, smiley_url und smiley_code:

    @smiley_url = (
    "http://magiccreating.com/smilies/s01.gif",
    "http://magiccreating.com/smilies/s02.gif",
    "http://magiccreating.com/smilies/s03.gif",
    "http://magiccreating.com/smilies/s04.gif",
    "http://magiccreating.com/smilies/s05.gif",
    "http://magiccreating.com/smilies/s06.gif",
    "http://magiccreating.com/smilies/s07.gif",
    "http://magiccreating.com/smilies/s08.gif",
    "http://magiccreating.com/smilies/s09.gif",
    "http://magiccreating.com/smilies/s10.gif",
    "http://magiccreating.com/smilies/s11.gif",
    "http://magiccreating.com/smilies/s12.gif",
    "http://magiccreating.com/smilies/s13.gif",
    "http://magiccreating.com/smilies/s14.gif",
    "http://magiccreating.com/smilies/s15.gif",
    "http://magiccreating.com/smilies/s16.gif",
    "http://magiccreating.com/smilies/s17.gif");
    
    @smiley_code = (
    ":)",
    "^^",
    ":D",
    ";)",
    ":(",
    ":heul:",
    ":open_mouth:",
    "8Q",
    ":sleep:",
    ":diablo:",
    ":rage:",
    ":Q",
    ":drink:",
    ":kotz:",
    ":love:",
    ":shoot:",
    ":alien:");
    

    Wenn ich jetzt aber ersetzen will, dann kommt immer die Fehlermeldung, dass der Server nicht gefunden wurde :(.
    Hier mein Code:

    sub ReplaceSmilies
    {
       my $text = shift;
       my $counter = 0;
    
       foreach(@smiley_code)
       {
          $text =~ s/(\ $_|$_\ )/\ \<img\ src\=\"@smiley_url[$counter]\"\>\ /g;
          $counter++;
       }
    
       return $text;
    }
    

    Was ist da falsch? Ist bestimmt nur ein kleiner Fehler... das ist mein erster Versuch mit regulären Ausdrücken :D.

    thx & cya 🙂



  • Das Problem wird wohl folgendes sein:

    @smiley_url[$counter]

    versuchs mal mit:

    {@smiley_url[$counter]}



  • Ok, danke!

    cya 🙂


Anmelden zum Antworten