Я отправляю письма из формы (пользовательский ввод).
Я всегда делал это:
filter_var($message, FILTER_SANITIZE_STRING);
Отлично. За исключением того, что я узнал, что он будет конвертировать определенные символы в сущности HTML. Тот, который вы видите чаще всего, это апостроф ('
).
Очевидно, что никто не хочет читать '
в сообщении электронной почты.
Затем я попробовал опцию FILTER_FLAG_NO_ENCODE_QUOTES, нокажется, это не работает.
filter_var($message, FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
Хорошо, на данный момент я могу выполнить последующий поиск / замену всех '
экземпляров. Но это выглядит немного глупо. Может быть, умнее?