Função htmlentities

htmlentities ($string, $quote_style, $charset, $double_encode) - converte todos os caracteres aplicáveis em entidades HTML.
Alguns caracteres têm significados especiais em HTML como por exemplo o sinal de maior e menor > <.
Use a função htmlentities sempre que precisar visualizar esses caracteres no conteúdo da página.

A função htmlentities é o oposto da função html_entity_decode()

Parâmetros

$string - a string de entrada.
 
$quote_style - opcional,  permite você definir o que será feito com 'apostrofos' e "aspas". Ele recebe uma constante entre três, sendo o padrão ENT_COMPAT:
Nome da Constante Descrição
ENT_COMPAT Irá converter aspas e deixar os apóstrofos.
ENT_QUOTES Irá converter ambos.
ENT_NOQUOTES Irá deixar ambos sem converter.

 

$charset - opcional, define o conjunto de caracteres usado na conversão. O conjunto de caracteres ISO-8859-1 é usado como padrão.
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

Quando $double_encode estiver definido como "off", o PHP não irá codificar entidades HTML existentes. O padrão é converter qualquer coisa.

Nota: Qualquer outro conjunto de caracteres não é reconhecido e será usado o ISO-8859-1.



Exemplo: para que o navegador não interprete a linha abaixo como sendo um comando e a exiba
<a href='test.htm'>isto não é um 'comando'</a>
da forma como está sendo apresentado:
<?php
$new = htmlentities("<a href='test.htm'>isto não é um 'comando'</a>", ENT_QUOTES);
echo $new;
?>
Resultado:


Sem a aplicação da função teriamos:
<?php
$new = "<a href='test.htm'>isto não é um 'comando'</a>";
echo $new;
?>
Resultado:
isto não é um 'comando'