Convierta los caracteres predefinidos "<" (menor que) y ">" (mayor que) a entidades HTML:
<?php $str = " Este es un texto en <b>negrita</b> . " ; html caracteres especiales ( $cadena ) ? >La salida HTML del código anterior es la siguiente (ver código fuente):
< ! HTML > <html> < body > Este es un texto & lt; b > negrita & lt ; /b > </html>La salida del navegador del código anterior es la siguiente:
Este es un texto en <b>negrita</b>.La función htmlspecialchars() convierte algunos caracteres predefinidos en entidades HTML.
Los caracteres predefinidos son:
& (ampersand) se convierte en &
" (comillas dobles) se convierte en "
' (comilla simple) se convierte en '
< (menor que) se convierte en <
> (mayor que) convertirse en>
Consejo: Para volver a convertir entidades HTML especiales en caracteres, utilice la función htmlspecialchars_decode().
htmlspecialchars( cadena,banderas,conjunto de caracteres,doble_codificación )
parámetro | describir |
---|---|
cadena | Requerido. Especifica la cadena que se va a convertir. |
banderas | Opcional. Especifica cómo manejar comillas, codificaciones no válidas y qué tipo de documento utilizar. Tipos de cotización disponibles: ENT_COMPAT: predeterminado. Sólo se codifican las comillas dobles. ENT_QUOTES: codifica comillas dobles y simples. ENT_NOQUOTES: no codifica ninguna cita. Codificación no válida: ENT_IGNORE: ignora codificaciones no válidas en lugar de que la función devuelva una cadena vacía. Esto debe evitarse ya que puede tener un impacto en la seguridad. ENT_SUBSTITUTE: sustituye una codificación no válida con el carácter especificado por el carácter de reemplazo Unicode U+FFFD (UTF-8) o &#FFFD; ENT_DISALLOWED: reemplaza los puntos de código no válidos en el tipo de documento especificado con los caracteres de reemplazo Unicode U+FFFD (UTF-8) o &#FFFD;. Banderas adicionales que especifican el tipo de documento a utilizar: ENT_HTML401: predeterminado. Código procesado como HTML 4.01. ENT_HTML5: código procesado como HTML 5. ENT_XML1: código procesado como XML 1. ENT_XHTML: como código de procesamiento XHTML. |
conjunto de caracteres | Opcional. Una cadena que especifica el juego de caracteres que se utilizará. Valores permitidos: UTF-8: predeterminado. Unicode de 8 bits multibyte compatible con ASCII ISO-8859-1 - Europa Occidental ISO-8859-15: Europa occidental (símbolo del euro agregado + faltan letras francesas y finlandesas en ISO-8859-1) cp866: conjunto de caracteres cirílicos específicos de DOS cp1251: conjunto de caracteres cirílicos específicos de Windows cp1252: juego de caracteres de Europa occidental específico de Windows KOI8-R - Ruso BIG5: chino tradicional, utilizado principalmente en Taiwán GB2312: chino simplificado, conjunto de caracteres estándar nacional BIG5-HKSCS - Big5 con extensión a Hong Kong Shift_JIS - Japonés EUC-JP - Japonés MacRoman: conjunto de caracteres utilizados por el sistema operativo Mac Nota: En versiones anteriores a PHP 5.4, los juegos de caracteres no reconocidos se ignoraban y se reemplazaban por ISO-8859-1. A partir de PHP 5.4, los conjuntos de caracteres no reconocidos se ignoran y se reemplazan por UTF-8. |
doble_codificación | Opcional. Un valor booleano que especifica si se codifican entidades HTML existentes. VERDADERO: predeterminado. Cada entidad se convertirá. FALSO: las entidades HTML existentes no se codificarán. |
Valor de retorno: | Devuelve la cadena convertida. Si la cadena contiene una codificación no válida, se devuelve una cadena vacía a menos que esté configurado el indicador ENT_IGNORE o ENT_SUBSTITUTE. |
---|---|
Versión PHP: | 4+ |
Registro de actualización: | En PHP 5, el valor predeterminado del parámetro del juego de caracteres cambió a UTF-8. En PHP 5.4, nuevos: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 y ENT_XHTML. En PHP 5.3, se agregó ENT_IGNORE. En PHP 5.2.3, se agregó el parámetro double_encode . En PHP 4.1, se agregó el parámetro de juego de caracteres . |
Convierta algunos caracteres predefinidos en entidades HTML:
<?php $cadena = " Jane y 'Tarzán' " ; htmlspecialchars ( $str , ENT_COMPAT ) ; // Predeterminado, solo se codifican las comillas dobles. eco " <br> " ; eco htmlspecialchars ( $str , ENT_QUOTES ) ; // Codifica comillas dobles y comillas simples. eco " <br> " ; eco htmlspecialchars ( $str , ENT_NOQUOTES ) ; // No codificar comillas ?>La salida HTML del código anterior es la siguiente (ver código fuente):
< ! HTML > <html> < cuerpo > Jane y ' Tarzán' < br > Jane y 'Tarzán' < br > Jane y ' Tarzán ' </ cuerpo > </html>La salida del navegador del código anterior es la siguiente:
Jane y 'Tarzán'Jane y 'Tarzán'Jane y 'Tarzán'Convierta comillas dobles en entidades HTML:
<?php $cadena = ' Me encanta "PHP " . htmlspecialchars ( $str , ENT_QUOTES ) ; // Codifica comillas dobles y comillas simples. ?> ;La salida HTML del código anterior es la siguiente (ver código fuente):
< ! HTML > <html> <cuerpo> Me encanta " PHP " </cuerpo> . </html>La salida del navegador del código anterior es la siguiente:
Me encanta "PHP".