str_replace nummerierung in foreach

flandersX

Mitglied
Hallo,

mal wieder benötige ich eure Hilfe.

Ich habe eine text datei mit Produkten und vielen Nmmmern HändlerIDs etc. Die in etwa so aussieht

Code:
ID=(Nr#="1",reseller=FIRMENNAME
ID=(Nr#="2",reseller=FIRMENNAME
ID=(Nr#="3",reseller=FIRMENNAME

Um es für mich übersichtlicher zu gestalten möchte ich diesen Teil löschen "ID=(Nr#="1",reseller=" so das nur der Firmenname übrig bleibt.

Dann habe ich folgendes gemacht:

PHP:
<?php
$datei = file("Händlerliste.txt");
$count = 1;

foreach($datei AS $meine_datei)
   {
   $meine_datei = str_replace('ID=(Nr#="'.$count.'",reseller=', '' ,$meine_datei);
   echo "$meine_datei"; 
   echo "<br />";
$count++;
   }
?>

Bekomme es nicht hin, dass die Nummer weiter gezählt wird. Wo ist der Fehler ?

Für Hilfe währe ich sehr dankbar.
 
Also bei mir funktioniert Dein Script.
schon versucht den Umlaut im Namen der Text-Datei zu ändern?
 
Der name der textdatei war frei gewählt....
hmm verstehe ich nicht :(

bei mir ersetzt er nicht mal die Eintrag mit der eins.
Nehme ich count raus und setzte die 1 ein funktioniert es.
Da muss doch ein Fehler sein. :(
 
Wie gesagt, es funktioniert.
Mit var_dump($meine_datei) in der Schleife bekomme ich folgende Ausgabe:

Code:
string(12) "FIRMENNAME "
string(12) "FIRMENNAME "
string(10) "FIRMENNAME"
 
Ist zwar seltsam, dass es bei dir nicht funktioniert, aber vielleicht geht es so:
PHP:
<?php
$datei = file("Händlerliste.txt");

foreach($datei AS $meine_datei)
   {
   list($a, $meine_datei) = explode('reseller=', $meine_datei);
   echo "$meine_datei"; 
   echo "<br />";
   }
?>

Vielleicht denkt er, dass dein $count kein Integer, sondern ein Float oder so ist. D.h. es wird nicht zu "1" sondern zu "1.00000000" und passt daher natürlich nicht. Kannst dir den zusammengebauten String ja vorher mal ausgeben lassen.
 
Lass dir halt einfach mal den String ausgeben und den Wert von $count dazu. Dann siehst du ja, wie der String aussieht und warum es nicht funktioniert.
 
Zurück