Comunidad PHPeros

Lenguajes => PHP => Mensaje iniciado por: naveda en 20 de Octubre de 2006, 20:43:50 pm

Título: Funcion htmlspecialchars();
Publicado por: naveda en 20 de Octubre de 2006, 20:43:50 pm
Basicamente, la funcion htmlspecialchars(); es una función predeterminada de PHP que como su propio nombre indica, hace que las etiquetas HTML sean leídas como texto plano, es decir, que no sean representadas sino mostradas tal cual.

Traduce las etiquetas HTML a texto plano (Sin etiquetas HTML):

Ejemplo 1 - htmlspecialchars();
<?PHP
$texto = "<font color='#FF0000' size='12'><b><u>Texto</u></b></font>";
echo "1. ".$texto; //Lo Mostramos sin aplica la funcion
echo "<br>"; //Simplemente un salto de linea
echo "2. ".htmlspecialchars($texto); //Lo mostramos aplicando la funcion
?>

Se mostrará lo siguiente:
Citar
1. Texto
2. <font color='#FF0000' size='12'><b><u>Texto</u></b></font>

Con esta función podemos evitar multitud de problemas relacionados con los formularios..., por ejemplo en un chat. Cuando un usuario envia un mensaje si sabe un poco sobre HTML podría llegar a pensar que poniendo <b>Mensaje...</b> se mostraría en negrita. Si el usuario en cuestion empieza a escribir codigos mas complejos como.. <table><tr>... podría estropear la estructura de los mensajes y causarnos muchas molestias.

De ahí es de donde sale el BBCode, para evitar problemas como el anterior se inutiliza el codigo html y el BBCode hace la funcion de HTML pero de un modo mas controlado y solamente permitiendo ciertas opciones de HTML como poner texto en negrita, en cursiva... Hay multitud de opciones, tantas como desees permitir a los usuarios.

¿Dudas? Si no os ha servido el Ejemplo 1 me encargaré de exponer otro nuevo ejemplo ;)
Título: Re: Funcion htmlspecialchars();
Publicado por: sagitari en 21 de Octubre de 2006, 13:27:02 pm
Pero también por seguridad, en la mayoría de sitios deshabilitan el html, por lo cual, por mucho que pongas el código, no se ejecuta.  :-*
Título: Re: Funcion htmlspecialchars();
Publicado por: naveda en 25 de Diciembre de 2006, 16:46:59 pm
La funcion htmlentities() es basicamente IGUAL salvo algunas excepciones que no son muy relevantes
Título: Re: Funcion htmlspecialchars();
Publicado por: Revancha en 27 de Diciembre de 2006, 01:38:14 am
¿Y como sería la función para colorear el código PHP? Por favor si puedes dímela.
Título: Re: Funcion htmlspecialchars();
Publicado por: naveda en 27 de Diciembre de 2006, 01:39:44 am
Creo recordar que es la función highlight_string();