Converta os caracteres predefinidos "<" (menor que) e ">" (maior que) em entidades HTML:
<?php $str = " Este é um texto em <b>negrito</b>. " ; htmlspecialchars ( $ str ) ;A saída HTML do código acima é a seguinte (ver código-fonte):
< ! HTML > <html> < body > Este é algum texto & lt ; negrito & lt ; </html>A saída do navegador do código acima é a seguinte:
Este é um texto em <b>negrito</b>.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'
< (menos que) torna-se <
> (maior que) tornar-se>
Dica: Para converter entidades HTML especiais de volta em caracteres, use a função htmlspecialchars_decode().
htmlspecialchars( string,flags,conjunto de caracteres,double_encode )
parâmetro | descrever |
---|---|
corda | Obrigatório. Especifica a string a ser convertida. |
bandeiras | Opcional. Especifica como lidar com aspas, codificações inválidas e qual tipo de documento usar. Tipos de cotação disponíveis: ENT_COMPAT – Padrão. Apenas aspas duplas são codificadas. ENT_QUOTES - Codifica aspas duplas e simples. ENT_NOQUOTES - Não codifique nenhuma aspa. Codificação inválida: ENT_IGNORE - Ignora codificações inválidas em vez de fazer com que a função retorne uma string vazia. Isso deve ser evitado, pois pode ter impacto na segurança. ENT_SUBSTITUTE - Substitui uma codificação inválida pelo caractere especificado pelo caractere de substituição Unicode U+FFFD (UTF-8) ou &#FFFD em vez de retornar uma string vazia. ENT_DISALLOWED - Substitui pontos de código inválidos no tipo de documento especificado pelos caracteres de substituição Unicode U+FFFD (UTF-8) ou &#FFFD;. Sinalizadores adicionais especificando o tipo de documento a ser usado: ENT_HTML401 - Padrão. Código processado como HTML 4.01. ENT_HTML5 – código processado como HTML 5. ENT_XML1 – Código processado como XML 1. ENT_XHTML - como código de processamento XHTML. |
conjunto de caracteres | Opcional. Uma string especificando o conjunto de caracteres a ser usado. Valores permitidos: UTF-8 – Padrão. Unicode multibyte de 8 bits compatível com ASCII ISO-8859-1 - Europa Ocidental ISO-8859-15 - Europa Ocidental (símbolo do euro adicionado + letras francesas e finlandesas ausentes na ISO-8859-1) cp866 - conjunto de caracteres cirílicos específicos do DOS cp1251 - conjunto de caracteres cirílicos específicos do Windows cp1252 - Conjunto de caracteres da Europa Ocidental específico do Windows KOI8-R - Russo BIG5 – Chinês tradicional, usado principalmente em Taiwan GB2312 - Chinês simplificado, conjunto de caracteres padrão nacional BIG5-HKSCS - Big5 com extensão para Hong Kong Shift_JIS - Japonês EUC-JP - Japonês MacRoman - Conjunto de caracteres usado pelo sistema operacional Mac Nota: Nas versões anteriores ao PHP 5.4, conjuntos de caracteres não reconhecidos eram ignorados e substituídos por ISO-8859-1. A partir do PHP 5.4, conjuntos de caracteres não reconhecidos são ignorados e substituídos por UTF-8. |
código_duplo | Opcional. Um valor booliano que especifica se as entidades HTML existentes devem ser codificadas. VERDADEIRO - Padrão. Cada entidade será convertida. FALSO – As entidades HTML existentes não serão codificadas. |
Valor de retorno: | Retorna a string convertida. Se a string contiver uma codificação inválida, uma string vazia será retornada, a menos que o sinalizador ENT_IGNORE ou ENT_SUBSTITUTE seja definido. |
---|---|
Versão PHP: | 4+ |
Registro de atualização: | No PHP 5, o valor padrão do parâmetro do conjunto de caracteres mudou para UTF-8. No PHP 5.4, novos: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 e ENT_XHTML. No PHP 5.3, ENT_IGNORE foi adicionado. No PHP 5.2.3, o parâmetro double_encode foi adicionado. No PHP 4.1, o parâmetro conjunto de caracteres foi adicionado. |
Converta alguns caracteres predefinidos em entidades HTML:
<?php $str = " Jane & 'Tarzan' " ; htmlspecialchars ( $str , ENT_COMPAT ) ; // Padrão, apenas aspas duplas são codificadas eco " <br> " ; eco htmlspecialchars ( $str , ENT_QUOTES ) ; // Codifica aspas duplas e aspas simples eco " <br> " ; eco htmlspecialchars ( $str , ENT_NOQUOTES ) ; // Não codifica nenhuma aspa ?>A saída HTML do código acima é a seguinte (ver código-fonte):
< ! HTML > <html> < corpo > Jane e ' Tarzan' < br > Jane e 'Tarzan' < br > Jane e ' Tarzan ' </ corpo > </html>A saída do navegador do código acima é a seguinte:
Jane e 'Tarzan'Jane e 'Tarzan'Jane e 'Tarzan'Converta aspas duplas em entidades HTML:
<?php $str = ' Eu amo "PHP" . htmlspecialchars ( $str , ENT_QUOTES ) ; // Codifica aspas duplas e aspas simples ?> ;A saída HTML do código acima é a seguinte (ver código-fonte):
< ! HTML > <html> <corpo> Eu adoro & quot ; PHP & quot ; </html>A saída do navegador do código acima é a seguinte:
Eu amo "PHP".