Bueno, pues estoy creando mi página web y al llegar a la sección de noticias y comentarios, me encuentro con el fallo de que si algún usuario o visitante escribe cosas como "<h1>", "<script>", etc... puede fastidiar un poco el uso de mi website.
He probado con htmlentities, pero el problema está en que al usarlo, el archivo que transforma los acentos, hace bbcodes y tal (el tipico funciones.php) deja de funcionar, por ejemplo, muestra <br> en vez de ser usado como salto de línea.
El archivo funciones.php es el siguiente:
<?PHP
function bbcode($texto){
$texto=nl2br($texto);
$texto=htmlentities($texto);
/*_-_-_-_-_-_-_-_-_EÑES_-_-_-_-_-_-_-_-_-_-_*/
$texto=str_replace("Ñ",'ñ',$texto);
$texto=str_replace("ñ",'Ñ',$texto);
/*_-_-_-_-_-_-_-_ACENTOS_-_-_-_-_-_-_-_-_-_*/
$texto=str_replace("Á",'Á',$texto);
$texto=str_replace("á",'á',$texto);
$texto=str_replace("É",'É',$texto);
$texto=str_replace("é",'é',$texto);
$texto=str_replace("Í",'Í',$texto);
$texto=str_replace("í",'í',$texto);
$texto=str_replace("Ó",'Ó',$texto);
$texto=str_replace("ó",'ó',$texto);
$texto=str_replace("Ú",'Ú',$texto);
$texto=str_replace("ú",'Ú',$texto);
/*_-_-_-_-_-_-_-_BBCODES_-_-_-_-_-_-_-_-_*/
$texto=preg_replace("`\[img](.*)?\[/img\]`is","<img src=\"$1\" />",$texto);
$texto=preg_replace("`\[url=http://(.*)?\](.*)?\[/url\]`is", '<a href="$1">$2</a>', $texto);
$texto=preg_replace("`\[b](.*)?\[/b\]`is","<b>$1</b>",$texto);
$texto=preg_replace("`\[i](.*)?\[/i\]`is","<i>$1</i>",$texto);
$texto=preg_replace("`\[u](.*)?\[/u\]`is","<u>$1</u>",$texto);
return $texto;
}
?>
¿Alguna solución?
¡Muchas gracias de antemano!