filter_var vs htmlentities vs htmlspecialchars

Aviso Lega

Esta não é uma pergunta sobre se devemos escapar para entrada do banco de dados. Isso está estritamente analisando as diferenças técnicas entre as três funções no títul

Há simessa questã discutindo a diferença entrehtmlentities() ehtmlspecialchars(). Mas, realmente não discutefilter_var() e as informações que encontrei no Google foram mais parecidas com "Certifique-se de escapar da entrada do usuário antes que ela ecoe!"

As minhas perguntas são:

Por que sãohtmlspecialchars() ehtmlentities() comumente usado sobrefilter_var()? Existe algum impacto no desempenho ao usarfilter_var()filter_var() não é tão seguro quanto as outras duas opçõe Existe algum outro motivo para NÃO usar o seguinte para codificar a entrada do usuário antes de serechod

filter_var($var, FILTER_SANITIZE_FULL_SPECIAL_CHARS);

questionAnswers(1)

yourAnswerToTheQuestion