Mam skrypt PHP, który odczytuje zawartość pliku i przechowuje go w zmiennej. Chcę podzielić tekst przechowywany przez nowe wpisy wierszy, a następnie przeszukać wartość array[0] pod kątem określonej wartości.

To jest mój pomysł. Oto moja sytuacja.

Mam plik katalogu z określonymi wpisami.

Entry1_two_term3_stuff
Entry2_two_term3_stuff
Entry3_two_term3_stuff

Zostanie to zapisane w zmiennej. Jak wyszukać w tym wpisie 2, a następnie uruchomić całą linię?

1
Dylan Wheeler 20 luty 2012, 16:04

2 odpowiedzi

Najlepsza odpowiedź

Jeśli możesz, użyj funkcji file(), aby załadować plik do tablicy, już podzielonej znakami nowej linii:

$lines = file('filename.txt');

Jeśli nie, możesz użyć

$lines = explode("\n", $contents);

Możesz użyć \r\n, jeśli jesteś w systemie Windows i plik zawiera znaki CR.

Aby przeszukać tablicę, użyj foreach:

foreach ($lines as $ix => $line)
    if (strpos ($line, 'string') !== false)
        $lines[$ix] = ...new version of line...

Na koniec zapisz zawartość z powrotem do jakiegoś pliku:

$fp = fopen('file.txt', 'w+');
foreach ($lines as $line)
    fputs($fp, $line);
fclose($fp);
1
Milan Babuškov 20 luty 2012, 19:33

Możesz przeszukiwać katalogi za pomocą RecursiveDirectoryIterator i przeszukiwać zawartość plików indywidualnie za pomocą preg_match_all

0
Vitamin 20 luty 2012, 16:08