@ClubNameNO

Найти строку в txt файле и удалить ее?

Как найти строку в txt файле и удалить ее ? Соответственно после этого сохранить файл.
Мои попытки не удались, тк отступы и новые строки не позволяют корректно находить и удалять строки.
Уточнение. Нужно удалять именно строку соответствующую запросу, а не с вхождением слова:
Поиск "test"
"test" - строку удалить
"test123" - строку оставить

Заранее большое спасибо за помощь!
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
DcFanoiD
@DcFanoiD
Full Stack : web
Содержимое файла document.txt
Строка 1
Строка 2
Ещё строка...
Строка 4
Строка 5

Функция
<?php
/**
 * @param string $stringToCut   Target string to cut
 * @param string $path          Path to file
 * 
 * @return int                  Number of cutted lines
 */
function cutLine(string $stringToCut, string $path) {
    $result = 0;
    if(is_array($data = file($path))) {
        foreach ($data as $key => $value) {
            if($stringToCut == trim(preg_replace('/\s+/', ' ', $data[$key]))) {
                unset($data[$key]);
                $result++;
            }
        }
        if($result > 0) file_put_contents($path, $data, LOCK_EX);
        return $result;
    }
}

/**
 * Пример:
 * Вырезать из файла document.txt строку "Ещё строка..." и пересохранить его. 
 * Функция вернет количество вырезанных строк.
*/
cutLine('Ещё строка...', 'document.txt');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
HTML Academy Санкт-Петербург
от 110 000 до 130 000 руб.
CENTRA Новокузнецк
от 50 000 руб.
от 1 500 до 2 500 usd.
26 марта 2019, в 01:09
40000 руб./за проект
26 марта 2019, в 00:54
40000 руб./за проект
26 марта 2019, в 00:31
20000 руб./за проект