Как удалить из файла все строки которые начинаются с определенной последовательности символов?

Здравствуйте! Подскажите, как я могу удалить из файла все строки, которые начинаются с определенной последовательности символов?
Вот такой файл для примера:
t9.73 20170809
t4.34 20170614
t9.87 20160101
t4.34 20170907

Была мысль - с помощью file() читать файл и записывать содержимое в массив, затем с помощью функции strspn() проверять каждый элемент массива на наличие указанной строки, и если строки нет, то записывать этот элемент в новый массив, затем преобразовать новый массив в строку с помощью функции implode();
// записываем содержимое файла в массив
$file  = file("file.txt");
// создаем новый пустой массив
// для нового содержимого файла
$newcontent = [];
foreach ($file as $string) {
//проверяем длину участка строки,
// содержащего нужные символы
$count = strspn($string , "t4.34");
//если этого участка нет, записываем элемент массива в новый массив
if ($count===0) {
$newcontent[] = $string;
}
}
//преобразуем массив с новым содержимым в строку
$newfile = implode($newcontent ,PHP_EOL);

Можно ли это сделать проще?
  • Вопрос задан
  • 345 просмотров
Пригласить эксперта
Ответы на вопрос 1
@devstudent
frontend-developer
нельзя проще. нормальный варинт, что такого сложного?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы