htmlspecialchars
(PHP 4, PHP 5)
htmlspecialchars — Converte caracteres especiais para a realidade HTML
Descrição
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:
- '&' (ampersand) torna-se '&'
- '"' (aspas dupla) torna-se '"' quando ENT_NOQUOTES não está definida.
- ''' (aspas simples) torna-se ''' apenas quando ENT_QUOTES está definida.
- '<' (menor que) torna-se '<'
- '>' (maior que) torna-se '>'
Example#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().