Hallo Rolf,
Da hat Martin recht, das ist als Eingabefilter nicht per se erforderlich. Für die Übergabe an die DB verwendest Du sowieso prepare um den Kontextwechsel zu kapseln. Und bei der späteren Ausgabe ins HTML verwendest Du htmlspecialchars, das übernimmt diesen Sanitäter-Job ohnehin.
okay, stimmt eigentlich. Ist also eher unnötig.
Diese Maskierung in der Eingabe ist sogar schädlich, denn auf einmal steht da ein & wo eigentlich ein & stand, und damit sind ggf. String-Positionen nicht mehr das, was sie mal waren. Oder Vergleiche schlagen fehl, weil Du bspw. testen möchtest, ob jemand "Deathmatch & Co" eingegeben hat. Oder eine DB-Suche scheitert, weil jemand das Spiel "Bumm & Knall" gesucht hat. Du willst diese Zeichen nicht ohne Not maskiert in der DB stehen haben.
Das ist in der Tat eine wichtige Überlegung. Daran hatte ich gar nicht gedacht. 👍