Dopo una ricerca ho visto che htmlspecialchars converte certi caratteri speciali, ho fatto una prova ed ho inserito nel form < e > ma a video stampa la stessa cosa e cioè < >, ma non dovrebbe convertire in entità html?
codice:$messaggio = htmlspecialchars(trim($_POST['messaggio']));