Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] str_replace

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

  • [Erledigt] str_replace

    Habe eine csv Datei, in der u.a. Kategorien innerhalb einer Spalte aufgelistet werden. Nun möchte ich drei Ausdrücke umbenennen habe es so versucht, geht aber nicht, weil immer nur die erste zeile berücksichtigt wird:

    $neu4 = str_replace("Ein-/", "Ein-", $Daten[4]);
    $neu4 = str_replace("Digital-/", "Digital-, $Daten[4]);
    $neu4 = str_replace("Consumer/", "Consumer-", $Daten[4]);

    Wie löse ich dies, damit alle Ausdrücke ersetzt werden?


  • #2
    Du könntest die zu ersetzenden Werte in ein Array schreiben,dann das Array mit foreach durchlaufen,prüfen ob der Wert auch wirklich im Array steht und dann in der Schleife das str_replace machen.

    Oder aber mit einem preg_replace_callback.
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    http://www.lit-web.de

    Kommentar


    • #3
      Re:

      Kannst Du mir bitte ein Beispiel-Code zeigen?! Bin noch totaler Anfänger.
      Für mich sind das alles bömische Dörfer!
      DANKE!

      Kommentar


      • #4
        Das ist ein einfaches logisches Problem.
        Du ersetzt Ein-/ durch Ein in dem Text der in der Variable $Daten[4] steht, und schreibst das Ergebnis in $neu4.
        Danach ersetzt du Digital-/ durch Digital - und zwar in dem Text der in der Variable $Daten[4] steht. An $Daten[4] hast du aber nie etwas verändert, das heißt dort steht immer noch der Ausgangstext (in dem Ein-/ noch nicht ersetzt wurde) drinnen, nicht das Resultat aus deinem ersten str_replace().

        Heißt im Klartext: Du musst beim zweiten, dritten, ... str_replace() deine Veränderungen natürlich auf $neu4 anwenden und in $neu4 schreiben, nicht auf $Daten[4] anwenden und in $neu4 schreiben.

        mfg

        Kommentar


        • #5
          Oder so:

          PHP-Code:
          $ersetzen = array(
            
          'Ein-/'      =>  'Ein-',
            
          'Digital-/'  =>  'Digital-',
            
          'Consumer-/' =>  'Consumer-',
          );

          $daten[4] = strtr($daten[4],$ersetzen); 
          PHP-Code:
          if ($var != 0) {
            
          $var 0;

          Kommentar


          • #6
            RE:

            Vielen Dank, funktioniert!
            Ich wünsche euch noch einen guten Rutsch ins neue Jahr!

            Kommentar

            Lädt...
            X