Bueno .. PHP como lenguaje orientado principalmente a la "web" ..ya pensón en eso y nos puso a disposición la función:
htmlentities() o htmlspecialchars()
http://www.php.net/manual/en/function.htmlentities.php
con esas funciones conviertes esos caractereres "maliciosos" a simples código HTML .. con lo cual no se interpretaran como HTML sino como un caracter especial:
Cita: Citantando el manual de PHP :
'&' (ampersand) becomes '&'
'"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
''' (single quote) becomes ''' only when ENT_QUOTES is set.
'<' (less than) becomes '<'
'>' (greater than) becomes '>'
Cabe decir .. q con eso no es que no lo prohibas .. sino q lo conviertes en inofensivo .. Con lo cual puedes ofrecer la posibilidad que en tus mensajes puedan incluir código o incluso escribir el mismismo caracter > < .. etc .. sin problemas.
Si quieres eliminar completamente TODO lo q esté entre < .. > podrias usar una expresión regular por ejemplo .. o simples str_replace() ...
Un saludo,