--- id: a6b0bb188d873cb2c8729495 title: HTML エンティティに変換する challengeType: 5 forumTopicId: 16007 dashedName: convert-html-entities --- # --description-- 文字列中の文字 `&`、`<`、`>`、`"` (二重引用符)、`'` (アポストロフィー) を、それぞれ対応する HTML エンティティに変換してください。 # --hints-- `convertHTML("Dolce & Gabbana")` は、文字列 `Dolce & Gabbana` を返す必要があります。 ```js assert.match(convertHTML('Dolce & Gabbana'), /Dolce & Gabbana/); ``` `convertHTML("Hamburgers < Pizza < Tacos")` は、文字列 `Hamburgers < Pizza < Tacos` を返す必要があります。 ```js assert.match( convertHTML('Hamburgers < Pizza < Tacos'), /Hamburgers < Pizza < Tacos/ ); ``` `convertHTML("Sixty > twelve")` は、文字列 `Sixty > twelve` を返す必要があります。 ```js assert.match(convertHTML('Sixty > twelve'), /Sixty > twelve/); ``` `convertHTML('Stuff in "quotation marks"')` は、文字列 `Stuff in "quotation marks"` を返す必要があります。 ```js assert.match( convertHTML('Stuff in "quotation marks"'), /Stuff in "quotation marks"/ ); ``` `convertHTML("Schindler's List")` は、文字列 `Schindler's List` を返す必要があります。 ```js assert.match(convertHTML("Schindler's List"), /Schindler's List/); ``` `convertHTML("<>")` は、文字列 `<>` を返す必要があります。 ```js assert.match(convertHTML('<>'), /<>/); ``` `convertHTML("abc")` は、文字列 `abc` を返す必要があります。 ```js assert.strictEqual(convertHTML('abc'), 'abc'); ``` # --seed-- ## --seed-contents-- ```js function convertHTML(str) { return str; } convertHTML("Dolce & Gabbana"); ``` # --solutions-- ```js var MAP = { '&': '&', '<': '<', '>': '>', '"': '"', "'": '''}; function convertHTML(str) { return str.replace(/[&<>"']/g, function(c) { return MAP[c]; }); } ```