@ClubNameNO

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

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

Заранее большое спасибо за помощь!
  • Вопрос задан
  • 95 просмотров
Решения вопроса 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');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Ticketland.ru Москва
от 120 000 руб.
Интерно Ростов-на-Дону
от 35 000 до 50 000 руб.
СиСорт Барнаул
от 40 000 до 115 000 руб.
17 янв. 2019, в 18:06
5000 руб./за проект
17 янв. 2019, в 17:21
20000 руб./за проект