--- id: a6b0bb188d873cb2c8729495 challengeType: 5 title: 转换HTML实体 --- ## Description
在这道题目中,我们需要写一个转换 HTML entity 的函数。需要转换的 HTML entity 有&<>"(双引号)和'(单引号)。
## Instructions
## Tests
```yml tests: - text: "convertHTML('Dolce & Gabbana')应该返回Dolce &​amp; Gabbana。" testString: assert.match(convertHTML("Dolce & Gabbana"), /Dolce & Gabbana/); - text: "convertHTML('Hamburgers < Pizza < Tacos')应该返回Hamburgers &​lt; Pizza &​lt; Tacos。" testString: assert.match(convertHTML("Hamburgers < Pizza < Tacos"), /Hamburgers < Pizza < Tacos/); - text: "convertHTML('Sixty > twelve')应该返回Sixty &​gt; twelve。" testString: assert.match(convertHTML("Sixty > twelve"), /Sixty > twelve/); - text: "convertHTML('Stuff in \"quotation marks\"')应该返回Stuff in &​quot;quotation marks&​quot;。" testString: assert.match(convertHTML('Stuff in "quotation marks"'), /Stuff in "quotation marks"/); - text: "convertHTML('Schindler's List')应该返回Schindler&​apos;s List。" testString: assert.match(convertHTML("Schindler's List"), /Schindler's List/); - text: "convertHTML('<>')应该返回&​lt;&​gt;。" testString: assert.match(convertHTML('<>'), /<>/); - text: "convertHTML('abc')应该返回abc。" testString: assert.strictEqual(convertHTML('abc'), 'abc'); ```
## Challenge Seed
```js function convertHTML(str) { // :) return str; } convertHTML("Dolce & Gabbana"); ```
## Solution
```js var MAP = { '&': '&', '<': '<', '>': '>', '"': '"', "'": '''}; function convertHTML(str) { return str.replace(/[&<>"']/g, function(c) { return MAP[c]; }); } ```