Array und str_replace

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

  • Array und str_replace

    Hallo,

    ich habe 2 Arrays. Einen mit Smilies wie "" und "" und den anderen mit "happy.gif" oder "wink.gif".

    Der Fehler muss bei $replace liegen, ich find' ihn aber nicht.
    PHP Code:
    $replace = array('angel.gif''angry2.gif''angry.gif''beer2.gif''beer.gif''birthday.gif',
    'bong.gif''bow.gif''confused.gif''cool.gif''dance.gif''dead.gif''deamon.gif''drink.gif',
    'grin.gif''guit2.gif''guit3.gif''guit.gif''hanged.gif''happy.gif''headbanger.gif',
    'keks.gif''kill2.gif''kill.gif''love.gif''nod.gif''pckill.gif',
    'rasta.gif''sad2.gif''sad.gif''sick2.gif''sick3.gif''sick.gif''smoke.gif''vomit.gif',
    'wink.gif''wow.gif');

    $text str_replace($smilies'<img src="images/smilies/' $replace '" />'$text); 
    Wenn ein Smiley ersetzt werden soll, kommt nicht <img src="images/smilies/wink.gif" />, sondern <img src="images/smilies/Array" />

    Ich hab' den Fehler aber (noch) nicht gefunden, deswegen brauch' ich euren Röntgenblick .

    Danke schonmal
    Gruß
    icecream
    icedcream.de Webdesign Regensburg

  • #2
    is das nicht ein array nach dem motto $replace[$smilies]

    Comment


    • #3
      hmm kann ja auch nicht gehen...du musst schon genau definieren welches Element innerhalb deines Arrays angeprochen werden soll...

      PHP Code:
      $text str_replace($smilies'<img src="images/smilies/' $replace['0'] . '" />'$text); 

      cya CrazyPip

      edit: also $replace['0'] ist jetzt nur n beispiel...musst du dir überlegen wie du die einzelnen Elemente jeweils ansprechen willst...evtnl mit einer schleife
      Last edited by CrazyPip; 28-05-2006, 14:17.

      Comment


      • #4
        PHP.net:
        Sind search und replace Arrays, nimmt str_replace() einen Wert von jedem Array und verwendet ihn zum Suchen und Ersetzen von subject. Hat replace weniger Werte als search, so wird ein leerer String für den Rest der Werte zum Ersetzen verwendet. Ist search ein Array und replace ein String, dann wird dieser String für jeden Wert von search angewandt.
        icedcream.de Webdesign Regensburg

        Comment


        • #5
          Es muss also gehen, weil ich das genauso schonmal gemacht habe...

          Hier mal der smilies-Array:
          Code:
          $smilies = array('*angel*', '*angry*', '*angry2*', '*beer*', '*beer2*', '*birthday*', '*bong*',
          '*bow*', '???', '*cool*', '*dance*', '*dead*', '*deamon*', '*drink*', ':D', '*guitar3*', '*guitar2*',
          '*guitar*', '*hanged*', ':)', '\\m/', '*keks*', '*kill*', '*kill2*', '*love*', '*hm*',
          '*pckill*', '*stoned*', ':\\'(', ':(', '*sick*', '*sick2*', '*sick3*', '*smoke*', '*vomit*',
          ';)', '*wow*');
          Gruß
          icecream
          Last edited by icecream; 28-05-2006, 15:29.
          icedcream.de Webdesign Regensburg

          Comment


          • #6
            das kann natürlich nicht so gehen:

            der zweite Parameter wird von PHP als String interpretiert. Mach mal ne Testausgabe.

            Comment


            • #7
              Ahja, OK, verstehe. Gibt es eine Möglichkeit, PHP zu sagen, dass er die Variable in dem String als Array ansehen soll, oder muss ich das dann doch in einer Schleife machen?

              Gruß
              icecream
              icedcream.de Webdesign Regensburg

              Comment


              • #8
                es ist nunmal kein sting. das solltest auch du erkennen.

                also mit ner schleife das replace-array erweitern.

                Comment


                • #9
                  OK, thx, jetzt geht's!

                  Gruß
                  icecream
                  icedcream.de Webdesign Regensburg

                  Comment

                  Working...
                  X