Autor Tema: Funcion htmlspecialchars();  (Leído 8926 veces)

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Funcion htmlspecialchars();
« 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):
  • '&' se convierte en '&'
  • '"' se convierte en '"'
  • ''' se convierte en '''
  • '<' se convierte en '&lt;'
  • '>' se convierte en '&gt;'

Ejemplo 1 - htmlspecialchars();
<?PHP
$texto 
"<font color=&#39;#FF0000&#39; size=&#39;12&#39;><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 ;)
« Última modificación: 29 de Septiembre de 2009, 15:14:11 pm por naveda »
Por favor, leete las Normas


Comunidad PHPeros

Funcion htmlspecialchars();
« en: 20 de Octubre de 2006, 20:43:50 pm »

Desconectado sagitari

  • PHPer@
  • **
  • Mensajes: 86
  • Karma: 10
  • Sexo: Femenino
  • "A&X&me...4ever"
    • Ver Perfil
    • http://freewebtown.com/sagitari
Re: Funcion htmlspecialchars();
« Respuesta #1 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.  :-*


http://freewebtown.com/sagitari

Web para aprender a hacer una web desde cero ^^

Videotutoriales y demás.

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Funcion htmlspecialchars();
« Respuesta #2 en: 25 de Diciembre de 2006, 16:46:59 pm »
La funcion htmlentities() es basicamente IGUAL salvo algunas excepciones que no son muy relevantes
Por favor, leete las Normas


Desconectado Revancha

  • PHPero Avanzado
  • ****
  • Mensajes: 375
  • Karma: 22
  • Sexo: Masculino
    • Ver Perfil
Re: Funcion htmlspecialchars();
« Respuesta #3 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.

Desconectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re: Funcion htmlspecialchars();
« Respuesta #4 en: 27 de Diciembre de 2006, 01:39:44 am »
Creo recordar que es la función highlight_string();
Por favor, leete las Normas