No to w czym problem?
file() działa już w wersji 4 (choć binarnie bezpieczny jest od wersji 4.3.0) i działa w taki sposób, że wczytywany plik wstawia do tablicy linia po linii. Wystarczy zatem w pętli porównywać i zmieniać wartości. Z zapisem już nie jest tak łatwo trzeba użyć
fopen() i
fputs() lub
fwrite() i w pętli zapisywać poprzednio wczytaną, i odpowiednio zmodyfikowaną zawartość do pliku. Zamiast file() można użyć fopen() w trybie do odczytu i
fgets() do pobierania kolejnych linii.