Как из txt или csv файла, из строки получить нужные данные и вернуть обратно в строку?

Мне необходимо после загрузки файла на сервер (csv, txt) найти в строке поле Email, провести работу с данным полем и вернуть результат обратно в стоку, сохранив ее целостность.

Т.е. если в строке есть отличные от Email поля их нужно вернуть в строку и сохранить.

Пример файла:

Name, Email, Phone

Вова, [email protected],

Вася, [email protected], 89990001234

Игорь, [email protected],,предприниматель, Москва

Вот что я делаю (построчно):

$fp = @fopen("uploads/file.csv", "r");
if ($fp) {
    while (($buffer = fgets($fp, 4096)) !== false) {

        echo $buffer;
    
        // выполнить действие над email и сохранить результат
        // КАК ЗДЕСЬ ПОЛУЧИТЬ EMAIL ИЗ СТРОКИ И ДАЛЕЕ СОХРАНИТЬ СТРОКУ ЦЕЛИКОМ
    


//$list = array (
//    array('')
//);

//$fp = fopen('file_ed.csv', 'a');

//foreach ($list as $fields) {
//    fputcsv($fp, $fields);
//}

//fclose($fp);



    
    }
    if (!feof($fp)) {
        echo "Ошибка: fgets() неожиданно потерпел неудачу\n";
    }
    fclose($fp);
}

Смысл в том, чтобы обработать любой файл с любым количеством полей, получить поле Email и вернуть в файл сохранив его изначальную структуру. Чтобы скрипт мог работать даже с самыми замысловатыми файлами и не отдавал ошибок.


Ответы (0 шт):