(PHP 4, PHP 5, PHP 7)
htmlspecialchars — Converte caracteres especiais para a realidade HTML
$string
[, int $quote_style
[, string $charset
]] )Certos caracteres tem significado especial em HTML, e seriam representados pela realidade HTML se eles estão preservanado seus significados. Esta função retorna uma string com algumas destas conversões feitas; As transformações feitas são aquelas mais úteis para programação web. Se você precisa que sejam transformados todos os caracteres da realidade HTML, use htmlentities() no lugar dela.
Esta função é útil na prevenção de textos fornecidos pelo usuário
contendo marcação HTML, tal como um quadro de mensgens ou guest book.
O segundo argumento opcional, quote_style
, conta à função o que fazer
com os caracteres aspas simples e dupla.
O modo padrão, ENT_COMPAT
, é o modo mais compatível com a atualidade,
apenas transforma a aspas-dupla e deixa a aspas-simples como está.
Se ENT_QUOTES
está definida, ambas
transformadas e se ENT_NOQUOTES
está definida
nenhuma das duas são modificadas.
As traduções executadas são:
ENT_NOQUOTES
não está definida.
ENT_QUOTES
está definida.
Exemplo #1 htmlspecialchars() exemplo
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
?>
Note que esta função não converte nada além do que foi listado acima. Para completa realidade de conversões, veja htmlentities(). Suporte para o segundo argumento opcional foi adicionado no PHP 3.0.17 e PHP 4.0.3.
O terceiro argumento define o conjunto de caracteres usados na conversão. O conjunto de caracteres padrão é ISO-8859-1. Suporte para o terceiro argumento foi adicionado no PHP 4.1.0.
Os seguintes conjuntos de caracteres são suportados no PHP 4.3.0 e posterior.
Conjunto de caracteres | Apelidos | Descrição |
---|---|---|
ISO-8859-1 | ISO8859-1 | Western European, Latin-1 |
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. Este conjunto de caracteres é suportado no 4.3.2. |
cp1251 | Windows-1251, win-1251, 1251 | Conjunto de caracteres do Windows específico para o Russo. Este conjunto de caracteres é suportado no 4.3.2. |
cp1252 | Windows-1252, 1252 | Conjunto de caracteres do Windows específico para a Europa Ocidental. |
KOI8-R | koi8-ru, koi8r | Russo. Este conjunto de caracteres é suportado no 4.3.2. |
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, 932 | Japonês |
EUC-JP | EUCJP | Japonês |
Nota: Qualquer outro conjunto de caracteres não é reconhecido e será usado o ISO-8859-1.
Veja também get_html_translation_table(), htmlentities(), strip_tags() e nl2br().