Array und str_replace

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

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

    Kommentar


    • #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
      Zuletzt geändert von CrazyPip; 28.05.2006, 15:17.

      Kommentar


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

        Kommentar


        • #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
          Zuletzt geändert von icecream; 28.05.2006, 16:29.
          icedcream.de Webdesign Regensburg

          Kommentar


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

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

            Kommentar


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

              Kommentar


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

                also mit ner schleife das replace-array erweitern.

                Kommentar


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

                  Gruß
                  icecream
                  icedcream.de Webdesign Regensburg

                  Kommentar

                  Lädt...
                  X