Função PHP htmlspecialchars()
Exemplo
Converta os caracteres predefinidos "<" (menor que) e ">" (maior que) em entidades HTML:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
A saída HTML do código acima será (View Source):
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
A saída do navegador do código acima será:
This is some <b>bold</b> text.
Definição e uso
A função htmlspecialchars() converte alguns caracteres predefinidos em entidades HTML.
Os caracteres predefinidos são:
- & (e comercial) torna-se &
- " (aspas duplas) torna-se "
- ' (aspas simples) torna-se '
- < (menor que) torna-se <
- > (maior que) torna-se >
Dica: Para converter entidades HTML especiais de volta em caracteres, use a função htmlspecialchars_decode() .
Sintaxe
htmlspecialchars(string,flags,character-set,double_encode)
Valores de parâmetro
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.
|
Detalhes técnicos
Valor de retorno: | Retorna a string convertida Se a string contiver uma codificação inválida, ela retornará uma string vazia, a menos que as opções ENT_IGNORE ou ENT_SUBSTITUTE estejam definidas |
---|---|
Versão do PHP: | 4+ |
Registro de alterações: | PHP 5.6 - Alterado o valor padrão do parâmetro character-set
para o valor do charset padrão (na configuração). PHP 5.4 - Alterado o valor padrão do parâmetro de conjunto de caracteres para UTF-8. PHP 5.4 - Adicionado ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 e ENT_XHTML PHP 5.3 - Adicionado constante ENT_IGNORE. PHP 5.2.3 - Adicionado o parâmetro double_encode . PHP 4.1 - Adicionado o parâmetro de conjunto de caracteres . |
Mais exemplos
Exemplo
Converta alguns caracteres predefinidos em 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
?>
A saída HTML do código acima será (View Source):
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
A saída do navegador do código acima será:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Exemplo
Converta aspas duplas em entidades HTML:
<?php
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>
A saída HTML do código acima será (View Source):
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
A saída do navegador do código acima será:
I love "PHP".
❮ Referência de String PHP