Я не придираюсь. Просто подмена базовых понятий предполагает дилетантство оппонента, а общаться с дилетантами неприятно, если они настаивают на своем. Мне по барабану, если фильтром назовут сепаратор. Но если фильтром назовут пастеризатор, можно предположить, что человек вообще не понимает происходящих процессов.
Обработка данных, это действительно абстрактное понятие, включающие в себя и фильтрацию, и валидацию, и изменение. Применительно к теме
1. Фильтрация недопустима впринципе.
2. Валидация возможна только до сохранения данных.
3. Изменение возможно только при подготовке данных для дальнейшего использования.
Почему недопустима фильтрация:
1. Это искажает данные. Почему за меня решают, как будет выглядеть мой текст после фильтрации? Почему из моего комментария неведомым образом исчезнет <twin>, если текст будет обработан strip_tags()?
2. Нельзя быть совершенно уверенным, что "отфильтровано" всё, что необходимо. По сей причине провалилась идея антиматов, по сей причине эпизодически находят дыры в разных htmlpurifier'ах и иже с ними. По сей причине в фильтрах используется разрешительная политика, а не запретительная. "Можно то, что можно, остальное нельзя". Против "нельзя это, это и это, остальное можно".
Валидация возможна только до, потому что после не имеет смысла. В данном случае валидация имеет очень ограниченный спектр применения
1. Ты можешь запретить мне использовать брички в комментариях, но это нубство, выдавать сообщение плана "Вы не можете использовать символы......". Читай про гребаную розовую розу.
2. Валидация тоже не всегда имеет должный эффект. Допустим filter_var() совершенно спокойно пропустит
sdsdsdagrethrytfgdmzgzdhrnzgbadgffsdhrytfgdmzgzdhrnzgbadgffsdsds@mail.ru
и что с неё толку?
А вот и камень преткновения - изменение данных. Тот самый htmlspecialchars().
Это тоже своего рода искажение данных, однако это сознательное искажение, если мы делаем его на выводе. Мы знаем, как на него отреагирует браузер и для того и готовим данные. Обрабатывая данные перед сохранением, мы не можем с уверенностью сказать, как они потом будут использоваться. Что ты будешь делать, если потребуется исходный текст? Вопрос с подвохом, не торопись отвечать.
Если ты сейчас скажешь, что совершенно точно знаешь, что данные никогда не потребуются в исходно виде, тогда сделаем скидку на малый опыт и прекратим дискуссию. За неимением смысла.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.