![]() |
[PHP] Zeilen in einem Array lokalisieren und löschen
Moin,
wiedermal eine PHP-Frage: Mit folgendem Code lese ich eine Datei ein:
Code:
Jetzt liegen mir die einzelnen Dateien ja in einem Array vor. Die Datei ist immer so aufgebaut:
$zeilen = file('xxx.txt');
foreach ($zeilen as $zeile) { echo nl2br(htmlspecialchars($zeile)); } Zitat:
Danke schonmal. ;) |
Re: [PHP] Zeilen in einem Array lokalisieren und löschen
Delphi-Quellcode:
there you go... allerdings ist ein regex da fast schon oversized. strpos == 0 würd schon reichen.
$regex = "=Wohnort|blabla="
for ($i = 0 ; $i < count($array); $i++) if preg_match($regex, $array[i]) array_delete(i); |
Re: [PHP] Zeilen in einem Array lokalisieren und löschen
Ich würde das Array vorher "vorsortieren", etwa so:
Code:
Edit: OK, nur halb beantwortet... :stupid:
$zeilen = file('xxx.txt');
$items = array(); $i = 0; foreach ($zeilen as $zeile) { if (trim($zeile) == '') { $i++; } else { $items[$i][] = $zeile; } } foreach ($items as $item) { // gibt den Namen aus echo $item[0]; // gibt die Zeit aus aus echo $item[1]; // ... } |
Re: [PHP] Zeilen in einem Array lokalisieren und löschen
hi,
es ist doch relativ einfach, du hast zwei Konstanten: 1. 'Name:' 2. 'Zeit:' Jetzt kannst du mit Hilfe einer Schleife jedes Element des Array's durchlaufen und überprüfen, ob in der jeweiligen Zeile Name bzw. Zeit vorkommt. Wenn nicht wird die jeweilige Zeile nicht ausgeben. Um nun an den Variablen-Teil zu kommen, musst du die Gesamtlänge der Zeile kennen. Existiert zum Beispiel "Name:" in der jeweiligen Zeile, kopierst du den String von der Länge(Name:) bis zur Länge(Zeilenende) und gibtst ihn aus. |
Re: [PHP] Zeilen in einem Array lokalisieren und löschen
Ich danke euch, hab mal wieder auf dem Schlauch gestanden. :wall:
Edit: Hier nochmal der komplette Code, array_delete gibt es imho nicht, oder ? Folgendes geht aber:
Code:
$regex = "=x|y=";
for ($i = 0; $i < count($zeilen); $i++) { if (preg_match($regex, $zeilen[$i])) { unset($zeilen[$i]); $zeilen = array_values($zeilen); } } |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz