Função html_entity_decode() do PHP
Exemplo
Converter as entidades HTML pré-definidas "<" (menor que) e ">" (maior que) em caracteres:
<?php $str = "Este é algum texto <b>em negrito</b>."; echo htmlspecialchars_decode($str); ?>
A saída HTML do código acima é como segue (ver código-fonte):
<!DOCTYPE html> <html> <body> Este é algum texto <b>em negrito</b>. </body> </html>
A saída do navegador do código acima é:
Este é algum texto em negrito.
Definição e uso
A função htmlspecialchars_decode() converte entidades HTML pré-definidas em caracteres.
As entidades HTML que serão decodificadas são:
- & Decodificado para & (e)
- " Decodificado para " (aspas duplas)
- ' Decodificado para ' (aspas simples)
- < Decodificado para < (menor que)
- > Decodificado para > (maior que)
A função htmlspecialchars_decode() é o inverso da função htmlspecialchars().
Sintaxe
htmlspecialchars_decode(string,flags)
Parâmetro | Descrição |
---|---|
string | Obrigatório. Determinar a string a ser decodificada. |
flags |
Opcional. Determinar como as aspas devem ser tratadas e qual tipo de documento deve ser usado. Tipos de aspas disponíveis:
Flags adicionais para o tipo de documento utilizado:
|
Detalhes Técnicos
Retorno: | Retorna a string convertida. |
Versão PHP: | 5.1.0+ |
Registro de Atualizações: |
No PHP 5.4, foram adicionados flags adicionais para especificar o tipo de documento a ser usado:
|
Mais Exemplos
Exemplo 1
Converter caracteres HTML pré-definidos para caracteres:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars_decode($str, ENT_COMPAT); // Converter apenas aspas duplas echo "<br>"; echo htmlspecialchars_decode($str, ENT_QUOTES); // Convertir aspas duplas e singlas echo "<br>"; echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Não converter nenhuma aspa ?>
A saída HTML do código acima é como segue (ver código-fonte):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
A saída do navegador do código acima é:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Exemplo 2
Converter caracteres HTML pré-definidos para aspas duplas:
<?php $str = 'I love "PHP".'; echo htmlspecialchars_decode($str, ENT_QUOTES); // Convertir aspas duplas e singlas ?>
A saída HTML do código acima é como segue (ver código-fonte):
<!DOCTYPE html> <html> <body> Eu amo "PHP". </body> </html>
A saída do navegador do código acima é:
Eu amo "PHP".