2018-10-04 14:37:37 +01:00
---
id: a6b0bb188d873cb2c8729495
title: Convert HTML Entities
isRequired: true
challengeType: 5
2019-07-31 11:32:23 -07:00
forumTopicId: 16007
2018-10-04 14:37:37 +01:00
---
## Description
< section id = 'description' >
Convert the characters < code > & < / code > , < code > < < / code > , < code > >< / code > , < code > "< / code > (double quote), and < code > '< / code > (apostrophe), in a string to their corresponding HTML entities.
< / section >
## Instructions
< section id = 'instructions' >
< / section >
## Tests
< section id = 'tests' >
```yml
tests:
2019-02-21 21:28:05 -08:00
- text: < code > convertHTML("Dolce & Gabbana")</ code > should return < code > Dolce & amp; Gabbana</ code > .
testString: assert.match(convertHTML("Dolce & Gabbana"), /Dolce & Gabbana/);
- text: < code > convertHTML("Hamburgers < Pizza < Tacos ")</ code > should return < code > Hamburgers & lt; Pizza & lt; Tacos</ code > .
testString: assert.match(convertHTML("Hamburgers < Pizza < Tacos " ) , / Hamburgers & lt ; Pizza & lt ; Tacos / ) ;
- text: < code > convertHTML("Sixty > twelve")</ code > should return < code > Sixty & gt; twelve</ code > .
testString: assert.match(convertHTML("Sixty > twelve"), /Sixty > twelve/);
- text: < code > convertHTML(' Stuff in "quotation marks"' )</ code > should return < code > Stuff in & quot;quotation marks& quot;</ code > .
testString: assert.match(convertHTML('Stuff in "quotation marks"'), /Stuff in " quotation marks" /);
- text: < code > convertHTML("Schindler' s List")</ code > should return < code > Schindler& apos;s List</ code > .
testString: assert.match(convertHTML("Schindler's List"), /Schindler' s List/);
- text: < code > convertHTML("< >")</ code > should return < code > & lt;& gt;</ code > .
testString: assert.match(convertHTML('< >'), /< > /);
2018-10-04 14:37:37 +01:00
- text: < code > convertHTML("abc")</ code > should return < code > abc</ code > .
2019-02-21 21:28:05 -08:00
testString: assert.strictEqual(convertHTML('abc'), 'abc');
2018-10-04 14:37:37 +01:00
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
function convertHTML(str) {
// : )
return str;
}
convertHTML("Dolce & Gabbana");
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
var MAP = { '& ': '& ',
'< ': '< ',
'>': '> ',
'"': '" ',
"'": '' '};
function convertHTML(str) {
return str.replace(/[& < >"']/g, function(c) {
return MAP[c];
});
}
```
< / section >