Ejemplo
Convertir los caracteres predefinidos "<" (less than) y ">" (greater than) a entidades HTML:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
La salida HTML del código anterior será (View Source) :
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
La salida del navegador del código anterior será:
This is some <b>bold</b> text.
Ejecutar ejemplo » Definición y Uso
El htmlspecialchars() función convierte algunos caracteres predefinidos para las entidades HTML.
Los personajes predefinidos son:
- Y (ampersand) se convierte en & amp;
- " (double quote) se convierte en & quot;
- ' (single quote) se convierte en & # 039;
- < (less than) se convierte en & lt;
- > (greater than) se convierte en & gt;
Consejo: para convertir las entidades HTML especiales volver a los caracteres, utilice el htmlspecialchars_decode() función.
Sintaxis
htmlspecialchars( string,flags,character-set,double_encode )
Parámetro | Descripción |
---|---|
string | Necesario. Especifica la cadena para convertir |
flags | Opcional. Especifica cómo manejar citas, codificación no válida y el tipo de documento utilizado. Los estilos de cotización disponibles son:
codificación no válida:
banderas adicionales para especificar el tipo de documento utilizado:
|
character-set | Opcional. Una cadena que especifica el conjunto de caracteres a utilizar. Los valores permitidos son:
Note: no reconocidos conjuntos de caracteres serán ignoradas y reemplazadas por la norma ISO-8859-1 en las versiones anteriores a PHP 5.4. A partir de PHP 5.4, se ignorará una sustituye por UTF-8. |
double_encode | Opcional. Un valor booleano que especifica si se codifican entidades HTML existente o no.
|
Detalles técnicos
Valor de retorno: | Devuelve la cadena convertida Si la cadena contiene codificación no válida, devolverá una cadena vacía, a menos que se fijan bien el ENT_IGNORE o banderas ENT_SUBSTITUTE |
---|---|
Versión de PHP: | 4+ |
cambios: | El valor predeterminado para el parámetro juego de caracteres fue cambiado a UTF-8 en PHP 5 ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 y ENT_XHTML se añadieron en PHP 5.4 ENT_IGNORE se añadió en PHP 5.3 El parámetro double_encode se añadió en PHP 5.2.3 El parámetro juego de caracteres se añadió en PHP 4.1 |
Más ejemplos
Ejemplo 1
Convertir algunos caracteres predefinidos para las entidades HTML:
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>
La salida HTML del código anterior será (View Source) :
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
La salida del navegador del código anterior será:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Ejecutar ejemplo » Ejemplo 2
Convertir comillas dobles a entidades HTML:
<?php
$str = 'I love "PHP" .';
echo htmlspecialchars($str, ENT_QUOTES);
// Converts double and single quotes
?>
La salida HTML del código anterior será (View Source) :
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
La salida del navegador del código anterior será:
I love "PHP" .
Ejecutar ejemplo » <String Referencia PHP