eresetzen klappt nicht

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

  • eresetzen klappt nicht

    hallo gemeinschaft

    lese aus einer csv datei daten ein - allerdings sind bei manchen zellen punkte drin - diese wollte ich mit

    PHP-Code:
    $testereg_replace ("."" "$datenfeld[$i][6]); 
    ersetzen - leider steht in der variable nichts mehr drin nach dem ersetzenvorgang

    was mache ich da falsch

  • #2
    Re: eresetzen klappt nicht

    Original geschrieben von jhaustein
    leider steht in der variable nichts mehr drin nach dem ersetzenvorgang
    in welcher?
    in $test oder in $datenfeld[$i][6]?

    wie hast du das festgestellt?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Re: eresetzen klappt nicht

      Original geschrieben von jhaustein
      leider steht in der variable nichts mehr drin nach dem ersetzenvorgang
      natürlich nicht, denn du hast ja auch gesagt, dass du jedes beliebige zeichen (*) ersetzen willst.

      was mache ich da falsch
      den üblichen jhaustein-fehler - techniken einsetzen, ohne sich auch nur im grundlegendsten über ihre funktionsweise informiert zu haben.



      (*) OK, auf zeilenumbrüche matcht der ausdruck m.W. nicht.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Der Punkt ist ein Meta-Zeichen in regulären Ausdrücken. Er bedeutet: alles (jedes Zeichen). In deinem Fall schmeißt er also alles raus.
        Das wär der richtige Code
        PHP-Code:
        $testereg_replace ("\\."" "$datenfeld[$i][6]);
        //Der Backslash teilt der RegEx-Engine den Punk nicht als Meta-Zeichen zu interpretieren 
        Allerdings würde ich folgendes empfehlen:
        PHP-Code:
        $test str_replace ('.'' '$datenfeld[$i][6]); 
        Die String-Funktionen zu benutzen ist schneller (RegEx's sind in diesem Fall auch nicht nötig, da du auf keinen komplexen String prüfen musst).

        Edit: Verdammt, da braucht man mal länger als 30 Sekunden für das Posting und schon sind zwei andere da, die schneller antworten
        Zuletzt geändert von Nezzar; 22.11.2004, 15:32.
        "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

        Kommentar


        • #5
          hi

          mit echo hab ich es getestet

          echo $datenfeld[$i][6]; -- dort steht diese zahl 2.001

          dann hab ich getestet ob der ereg_replace (".", " ", $datenfeld[$i][6])befehl funzt indem ich mal den punkt durch eine 0 ersetzet habe und den term der danach stehen soll (in diesem fall sollte es ja gelöscht werden) durch einen buchstaben (hier ein a) - dann stand da dort 2.aa1

          Kommentar


          • #6
            @Nezzar

            vielen dank - das wars

            Kommentar

            Lädt...
            X