Función PHP htmlspecialchars()
❮ Referencia de cadenas de PHP
Ejemplo
Convierta los caracteres predefinidos "<" (menor que) y ">" (mayor que) en entidades HTML:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
La salida HTML del código anterior será (Ver código fuente):
<!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.
Definición y uso
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) se convierte en >
Sugerencia: para volver a convertir entidades HTML especiales en caracteres, utilice la función htmlspecialchars_decode() .
Sintaxis
htmlspecialchars(string,flags,character-set,double_encode)
Valores paramétricos
Parameter | Description |
---|---|
string | Required. Specifies the string to convert |
flags | Optional. Specifies how to handle quotes, invalid encoding and the used document type. The available quote styles are:
Invalid encoding:
Additional flags for specifying the used doctype:
|
character-set | Optional. A string that specifies which character-set to use. Allowed values are:
Note: Unrecognized character-sets will be ignored and replaced by ISO-8859-1 in versions prior to PHP 5.4. As of PHP 5.4, it will be ignored an replaced by UTF-8. |
double_encode | Optional. A boolean value that specifies whether to encode existing html entities or not.
|
Detalles técnicos
Valor devuelto: | Devuelve la cadena convertida . Si la cadena contiene una codificación no válida, devolverá una cadena vacía, a menos que se establezcan los indicadores ENT_IGNORE o ENT_SUBSTITUTE. |
---|---|
Versión PHP: | 4+ |
Registro de cambios: | PHP 5.6: cambió el valor predeterminado para el parámetro del juego de caracteres
al valor del juego de caracteres predeterminado (en configuración). PHP 5.4: se cambió el valor predeterminado para el parámetro de conjunto de caracteres a UTF-8. PHP 5.4: se agregaron ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 y ENT_XHTML PHP 5.3: se agregó la constante ENT_IGNORE. PHP 5.2.3: se agregó el parámetro double_encode . PHP 4.1: se agregó el parámetro de conjunto de caracteres . |
Más ejemplos
Ejemplo
Convierta algunos caracteres predefinidos en 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á (Ver código fuente):
<!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'
Ejemplo
Convierta comillas dobles en 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á (Ver código fuente):
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
La salida del navegador del código anterior será:
I love "PHP".
❮ Referencia de cadenas de PHP