Просмотр поста

.
Jahak
Koenig, улучшил код. Теперь поиск идет так же как и у тебя, плюс еще удаляет все строки, где встречаются определенные слова, например "delete" и "this" по отдельности
Sitego,
Попробуй код: (+/-)
<?php
//определенное слово, можно в виде массива если несколько или в виде строки, если слово одно
$search = ['delete', 'this'];
//путь к файлу
$filename = 'lol.txt';
//читает содержимое файла и помещает его в массив
$file = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
//фильтруем элементы массива с помощью функции поиска определенного слова
$file = array_filter($file, function($line) use ($search) {
    return search($search, $line) !== true;
});

//пишем строки уже в новый файл без определенных(ого) слов(а)
file_put_contents('new_' . $filename, implode(PHP_EOL, $file));

/**
 * Функция поиска определенного слова
 * @param array|string $search Определенные слова или одно слово в виде строки
 * @param string $string       Строка в которой производится поиск определенного слова
 * @return boolean
 */
function search($search, $string)
{
    if (is_string($search)) {
        $search = [$search];
    }
    foreach ($search as $s) {
        if (mb_strpos($string, $s) !== false) {
            return true;
        }
    }
    return false;
}