16.6 Alle zu einem Muster passenden Zeilen in einer Datei finden

Problem

Sie möchten alle Zeilen in einer Datei finden, die zu einem bestimmten Muster passen.

Lösung

Lesen Sie die Datei in ein Array ein und verwenden Sie preg_grep().

Diskussion

Es gibt dafür zwei Möglichkeiten, dies ist der schnellere Weg:

$pattern = "/\bo'reilly\b/i"; // nur Bücher von O'Reilly
$ora_books = preg_grep($pattern, file('/pfad/zu/ihrer/datei.txt'));

Mit file() können Sie automatisch alle Zeilen der Datei in Array-Elemente laden und mit preg_grep() die unerwünschten Zeilen herausfiltern.

Hier ist die effizientere Methode:

$fh = fopen('/pfad/zu/ihrer/datei.txt', 'r') or die($php_errormsg); while (!feof($fh)) { $line = fgets($fh, 4096); if (preg_match($pattern, $line)) { $ora_books[] ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.