Por lo que veo creo que no.
Yo une vez agarré una función para evitar ataques XSS proporcionada por Gator (muy agradecido) en uno de los hilos de este foro, y lo único que hacía era evitar código javascript y flash (creo), del resto el código HTML seguía igual ya que se podía tomar en cuenta como código "inofensivo".
Esto es útil para desarrolladores que quieran hacer servicios de tipo Blogging, o algo por el estilo, o que simplemente dejen al usuario escribir código HTML en comentarios, etc..
En fin, si lo que quieres es evitar 100% cualquier tipo de código HTML, aquí te dejo una función que fabriqué desde entonces, es muy sencilla..
Código PHP:
<?php
function FilterXSS($String)
{
$Find = array('&', '<', '>', '=', '"', '\'');
$Replace = array('& #38;', '& #60;', '& #62;', '& #61;', '& #34;', '& #39;'); /* Borra los espacios :P */
$String = str_replace($Find, $Replace, $String);
return $String;
}
?>
Simplemente reemplaza cualquier caracter que permita formar código HTML en sí, y a su vez evitar sus entidades, saludos espero que te sirva.
Te sugiero que hagas el reemplazo DESPUÉS de que saques la información de la base de datos y NO ANTES de introducirla.