Ir para o conteúdo

Quando [não] usar entidades HTML?

É uma pergunta que está rodeada de confusões. Apesar disso a resposta, apesar de ser objectiva e relativamente simples, afastará muitos problemas irritantes e desnecessários.

As entidades são uma representação alternativa de um caracter para além do seu valor numérico no código ASCII ou do próprio caracter. Caracteres especiais têm um nome, a entidade, e podem ser representados por uma "sequência escapada". Por exemplo, o caracter í, pode ser representado por í.

Adicionalmente, qualquer caracter suportado pelo HTML pode ser representado por uma sequência composta por &# seguido do valor numérico do caracter e um ponto e vírgula.

Com a chegada do unicode, o uso deste tipo de representação tornou-se em certa medida obsoleto e não é recomendado. Em vez disso, deve usar-se texto plano, pois impede problemas de portabilidade e pode ser lido olhando apenas para o código-fonte do documento.

Para que servem então as entidades?

É a pergunta que se impõe. A resposta é mais uma vez simples. Os caracteres que fazem parte da sintaxe do HTML (&, <, >, etc.), têm forçosamente que ser escapados usando o tipo de notação descrito acima, pois de outra forma quebrariam a integridade do documento. Em variadas situações, podem também existir limitações ou problemas técnicos que podem ser resolvidos com recurso ao uso de entidades. Estas incluem entre outras:

  • Migração de encoding.
  • Situações onde o charset não é controlado pelo autor do documento.
  • Não suporte para unicode por parte dos user-agents.

Para mais informação: http://www.w3.org/International/questions/qa-escapes