Вообще как вижу нормальную работу.
- Подключение файла csv.
- Получение массива значений каждой строчки (исключая первую) для цикла, при этом у каждого значения: ключ = название из заголовка.
array(
array('Заголовок' => 'Куплю', 'Текст' => 'Куплю что нибудь', 'Минимальная цена' => 100),
array('Заголовок' => 'Продам', 'Текст' => 'Продам что нибудь', 'Минимальная цена' => 100),
...
)
- Возможность заменить значение.
В php есть возможность такое проделать.
Я не против если нужно при выборе csv ещё выбирать кодировку, разделитель и экранизацию.