Если вы можете, используйте функцию file () для загрузки файла в массив, уже разбитый на новые строки:
$lines = file('filename.txt');
Если нет, вы можете использовать
$lines = explode("\n", $contents);
Возможно, вы захотите использовать \ r \ n, если вы используете Windows и файл содержит символы CR.
Для поиска в массиве используйте foreach:
foreach ($lines as $ix => $line)
if (strpos ($line, 'string') !== false)
$lines[$ix] = ...new version of line...
В конце запишите содержимое обратно в какой-нибудь файл:
$fp = fopen('file.txt', 'w+');
foreach ($lines as $line)
fputs($fp, $line);
fclose($fp);