O objetivo é realmente simples. Recebendo uma sequência como entrada, analise todas as entidades HTML que correspondem aos seguintes caracteres (incluindo suas variantes em maiúsculas):
áàãâäéèêëíìîïóòõôöúùûüýÿ
Regras de análise:
- Cada entidade começa com
&
e termina com;
- O primeiro caractere após o
&
será o caractere modificado (maiúsculas e minúsculas são importantes!) - Os restantes caracteres referem-se ao nome do acento para usar (
acute
,grave
,circ
,tilde
euml
). O nome do acento DEVE estar em minúsculas! * - Qualquer entidade HTML que produz um caractere que não está nessa lista, ou que é inválido, deve ser deixado intocado (Ex:
&
,&etilde;
,&a;
) - Entidades numéricas devem ser ignoradas, pois não se enquadram nas regras acima
Esta alteração foi introduzida em 18-02-2016. Todas as respostas existentes que aceitam entidades HTML com nomes de acento em maiúsculas são válidas. Qualquer resposta futura deve seguir esta regra.
Exemplos:
á //á
Téhèh //Téhèh
an & //an &
Resultado:
A saída pode estar em ISO-8859- X (1-15), windows-1252 ou UTF-8/16/32.
Você pode escolher uma e apenas uma das codificações válidas e usá-la para qualquer saída. Você pode assumir com segurança que a entrada estará em ASCII.
Qualquer uma das seguintes opções é uma saída válida para á
:
á
(ISO-8859-1 / 15 ou windows-1252, equivalente a\xE1
)á
(UTF-8, equivalente a\xC3\xA1
ou\u00E1
)aÌ
(UTF-8, equivalente aa\xCC\x81
oua\u0301
)- Qualquer combinação de sinais diacríticos, sem usar entidades HTML.
A saída deve ser visualmente semelhante, quando renderizada / exibida, aos caracteres da lista.
Lembre-se de que todas as brechas padrão e os embutidos * não são permitidos . Como se trata de código-golfe , a resposta mais curta vence.
* Essa alteração foi feita devido à grande reprovação de bônus e penalidades e, no momento da redação, não invalida nenhuma resposta