目標は本当にシンプルです。入力として文字列を受け取り、次の文字(大文字のバリアントを含む)に対応するすべてのHTMLエンティティを解析します。
áàãâäéèêëíìîïóòõôöúùûüýÿ
解析ルール:
- 各エンティティは次で始まり、次
&
で終わる;
- の後の最初の文字
&
は変更された文字になります(大文字と小文字が重要です!) - 残りの文字は、(使用アクセントの名前を参照して
acute
、grave
、circ
、tilde
およびuml
)。アクセント名は小文字でなければなりません!* - そのリストにない文字を生成、またはそれが無効である任意のHTMLエンティティは、手つかずのままにしておく必要があり(例:
&
、&etilde;
、&a;
) - 数値エンティティは上記のルールに適合しないため、無視する必要があります
この変更は、2016年2月18日に導入されました。大文字のアクセント名を持つHTMLエンティティを受け入れる既存の回答はすべて有効です。今後の回答は、このルールに従う必要があります。
例:
á //á
Téhèh //Téhèh
an & //an &
出力:
出力は、ISO-8859- X(1-15)、windows-1252、またはUTF-8 / 16/32になります。有効なエンコーディングを1つだけ
選択して、任意の出力に使用できます。入力はASCIIであると安全に想定できます。
次のいずれかが有効な出力ですá
:
á
(ISO-8859-1 / 15またはwindows-1252、に相当\xE1
)á
(UTF-8と同等\xC3\xA1
または\u00E1
)aÌ
(UTF-8と同等a\xCC\x81
またはa\u0301
)- HTMLエンティティを使用しない、発音区別記号の任意の組み合わせ。
出力は、レンダリング/表示するときに、リスト上の文字と視覚的に類似している必要があります。
すべての標準的な抜け穴とビルトイン *は許可されていません。これはcode-golfであるため、最短の回答が優先されます。
*この変更は、ボーナスとペナルティが大幅に不承認になったために行われたものであり、作成時には回答を無効にしません。