Manual do PHP
Anterior |  | Próxima

# htmlspecialchars

(PHP 3, PHP 4 , PHP 5)

htmlspecialchars -- Converte caracteres especiais para a realidade HTML

## Descrição

string htmlspecialchars ( string 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:

- '&' (ampersand) torna-se '&amp;'

- '"' (aspas dupla) torna-se '&quot;' quando `ENT_NOQUOTES` não está definida.

- ''' (aspas simples) torna-se '&#039;' apenas quando `ENT_QUOTES` está definida.

- '<' (menor que) torna-se '&lt;'

- '>' (maior que) torna-se '&gt;'

Exemplo 1. htmlspecialchars() exemplo

`<?php $new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt; ?>`

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.

Tabela 1. Conjuntos de caracteres suportados

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().

Anterior | Principal | Próxima
htmlentities | Acima | implode