(PHP 4, PHP 5, PHP 7, PHP 8)
htmlentities — Converte todos os caracteres aplicáveis em entidades HTML
$string,$flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,$encoding = null,$double_encode = true
Esta função é idêntica a htmlspecialchars() em todas as
maneiras, exceto que com htmlentities(), todos os caracteres que
têm equivalentes em HTML são traduzidos para essas entidades.
A função get_html_translation_table() pode ser usada
para retornar a tabela de tradução usada dependendo das constantes fornecidas
em flags.
Se for desejada a decodificação (operação reversa) pode-se usar html_entity_decode().
stringA string de entrada.
flags
Uma máscara de bits de uma ou mais das opções a seguir, que especificam como lidar com aspas,
sequências inválidas de unidades de código e tipos de documentos usados. O padrão é
ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| Nome da Constante | Descrição |
|---|---|
ENT_COMPAT |
Converte aspas duplas e não converte aspas simples. |
ENT_QUOTES |
Converte tanto aspas duplas quanto simples. |
ENT_NOQUOTES |
Não converte aspas duplas ou simples. |
ENT_IGNORE |
Descarta silenciosamente sequências de unidades de código inválidas ao invés de retornar uma string vazia. O uso desta opção é desencorajado pois » pode ter implicações de segurança. |
ENT_SUBSTITUTE |
Substitui sequências de unidade de código inválidas com um Caractere de Substituição Unicode U+FFFD (UTF-8) ou � ao invés de retornar uma string vazia. |
ENT_DISALLOWED |
Substitui pontos de código inválidos para o tipo de documento informado por um Caractere de Substituição Unicode U+FFFD (UTF-8) ou &#FFFD; ao invés de não converter. Isto pode ser útil, por exemplo, para garantir boa formatação de documentos XML com conteúdo externo embutido. |
ENT_HTML401 |
Lida com o código como HTML 4.01. |
ENT_XML1 |
Lida com o código como XML 1. |
ENT_XHTML |
Lida com o código como XHTML. |
ENT_HTML5 |
Lida com o código como HTML 5. |
encodingUm argumento opcional que define a codificação usada na conversão de caracteres.
Se omitido, encoding assume como padrão o valor da
opção de configuração default_charset
.
Embora este argumento seja tecnicamente opcional, especificar o valor correto para o código é altamente recomendável se a opção de configuração default_charset puder ser definida incorretamente para a entrada fornecida.
Os seguintes conjuntos de caracteres são suportados:
| Conjunto de caracteres | Apelidos | Descrição |
|---|---|---|
| ISO-8859-1 | ISO8859-1 | Western European, Latin-1. |
| ISO-8859-5 | ISO8859-5 | Conjunto de caracteres cirílicos pouco usado (Latim/Cirílico). |
| ISO-8859-15 | ISO8859-15 | Western European, Latin-9. Adiciona o símbolo do Euro, letras Francesas e Filandesas faltando no Latin-1 (ISO-8859-1). |
| UTF-8 | Código de multi-byte 8-bit Unicode compatível com ASCII. | |
| cp866 | ibm866, 866 | Conjunto de caracteres do DOS específico para o Russo. |
| cp1251 | Windows-1251, win-1251, 1251 | Conjunto de caracteres do Windows específico para o Russo. |
| cp1252 | Windows-1252, 1252 | Conjunto de caracteres do Windows específico para a Europa Ocidental. |
| KOI8-R | koi8-ru, koi8r | Russo. |
| BIG5 | 950 | Chinês Tradicional, usado principalmente em Taiwan. |
| GB2312 | 936 | Chins Simplificado, conjunto de caracteres padrão nacional. |
| BIG5-HKSCS | Big5 com extenções de Hong Kong, Chinês Tradicional. | |
| Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japonês |
| EUC-JP | EUCJP, eucJP-win | Japonês |
| MacRoman | Conjunto de caracteres que era usado pelo Mac OS. | |
'' |
Uma string vazia ativa a detecção a partir de codificação de script (multibyte Zend), conjunto padrão de caracteres e localidade atual (consulte nl_langinfo() e setlocale()), nesta ordem. Não recomendado. |
Nota: Nenhum outro conjunto de caracteres é reconhecido. A codificação padrão será usada no lugar e um alerta será emitido.
double_encode
Quando double_encode estiver desligado, o PHP não irá
codificar entidades HTML existentes. O padrão é converter tudo.
Retorna a string codificada.
Se a string de entrada contiver uma sequência de unidade de código
inválida na condificação informada em encoding, uma string vazia
será retornada, a menos que uma das opções ENT_IGNORE ou
ENT_SUBSTITUTE esteja definida.
| Versão | Descrição |
|---|---|
| 8.1.0 |
O padrão de flags mudou de ENT_COMPAT para ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
|
| 8.0.0 |
encoding agora pode ser nulo.
|
Exemplo #1 Um exemplo de htmlentities()
<?php
$str = "Uma 'palavra' em <b>negrito</b>";
echo htmlentities($str);
echo "\n\n";
echo htmlentities($str, ENT_COMPAT);
?>O exemplo acima produzirá:
Uma 'palavra' em <b>negrito</b> Uma 'palavra' em <b>negrito</b>
Exemplo #2 Uso de ENT_IGNORE
<?php
$str = "\x8F!!!";
// Saída: uma string vazia
echo htmlentities($str, ENT_QUOTES, "UTF-8");
// Saída: "!!!"
echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
?>