explode zeile

Loddar1

Erfahrenes Mitglied
Hi, Ich mal wieder...
Ich habe eine txt Datei in der Namen stehen, etwa so:
Heinz
Paul
Werner
usw.
Jetzt habe ich das geändert, damit ich eine ID vergeben kann sieht jetzt so aus:
1|Heinz|;
2|Paul|;
3|Werner|;
usw.
zum Auslesen habe ich folgenden Code:
PHP:
$users = file('data/users.txt');
    for ($q = 0; $q < count($users); $q ++) {
      if (strlen($list) > 1) {
        $list = $list . ', <a href="index.php?type=view_profile&amp;login=' . str_replace("\r\n", '', $users[$q]) . '">' . str_replace("\r\n", '', $users[$q]) . '</a>';
      } else {
        $list = '<a href="index.php?type=view_profile&amp;login=' . str_replace("\r\n", '', $users[$q]) . '">' . str_replace("\r\n", '', $users[$q]) . '</a>';
      }
    }
Jetzt zeigt die Ausgabe folgendes an:
0|Admin|;, 1|Heinz|;, 2|Paul|;, 3|Werner|;
Ich will mit explode nur den Namen anzeigen, aber ich bekomme das nicht ganz hin.
Hier mal der Code mit explode:
PHP:
$users = file('data/users.txt');
    $users = explode('|', $users[$q]);
    for ($q = 0; $q < count($users); $q ++) {
      if (strlen($list) > 1) {
        $list = $list . ', <a href="index.php?type=view_profile&amp;login=' . str_replace("\r\n", '', $users[$q]) . '">' . str_replace("\r\n", '', $users[$q]) . '</a>';
      } else {
        $list = '<a href="index.php?type=view_profile&amp;login=' . str_replace("\r\n", '', $users[$q]) . '">' . str_replace("\r\n", '', $users[$q]) . '</a>';
      }
    }
Jetzt bekomme ich das:
1, Heinz, ;
angezeigt.
Wo liegt mein explode Fehler?
kann mir einer helfen?
 
Ich will eigentlich nicht alles ändern, sondern mit explode nur die Namen anzeigen.
 
Zuletzt bearbeitet:
Schau dir mal die Funktion fgetcsv an, die dir alxy vorgeschlagen hat, und beachte dann mal den dritten Parameter "delimiter". Dort kannst du das Komma in einen horizontalen Strich (wie heißt das Ding?) ändern, so dass es in deinem Format funktioniert.
 
Habe ich schon probiert, aber habe probleme.
kommt das fgetcsv statt dieser Zeile
PHP:
$users = explode('|', $users[$q]);
hin oder muss ich noch mehr umschreiben?
 
Zurück