Kurzum - ich sehe ein bisschen den Wald vor lauter Bäumen nicht.
Ganz einfach vergiss den Wald.
Jeder der Filter hat seinen Einsatzzweck. Die Einsatzwecke (→ Datenbank, → Mailadresse, → Ausgabe ins HTML, → Übergabe an Programme als Parameter( escapeshellarg() hast Du vergessen) , ... ) sind die Bäume.
Und jeder Bäume hat eine andere Allergie.
Dedlfix war so nett und hat das schön beschrieben:
https://wiki.selfhtml.org/wiki/Programmiertechnik/Kontextwechsel/erkennen_und_behandeln