Skip to main content

--description--

Convert the characters &, <, >, " (double quote), and ' (apostrophe), in a string to their corresponding HTML entities.

--hints--

convertHTML("Dolce & Gabbana") should return the string Dolce &amp; Gabbana.

assert.match(convertHTML('Dolce & Gabbana'), /Dolce &amp; Gabbana/);

convertHTML("Hamburgers < Pizza < Tacos") should return the string Hamburgers &lt; Pizza &lt; Tacos.

assert.match(
convertHTML('Hamburgers < Pizza < Tacos'),
/Hamburgers &lt; Pizza &lt; Tacos/
);

convertHTML("Sixty > twelve") should return the string Sixty &gt; twelve.

assert.match(convertHTML('Sixty > twelve'), /Sixty &gt; twelve/);

convertHTML('Stuff in "quotation marks"') should return the string Stuff in &quot;quotation marks&quot;.

assert.match(
convertHTML('Stuff in "quotation marks"'),
/Stuff in &quot;quotation marks&quot;/
);

convertHTML("Schindler's List") should return the string Schindler&apos;s List.

assert.match(convertHTML("Schindler's List"), /Schindler&apos;s List/);

convertHTML("<>") should return the string &lt;&gt;.

assert.match(convertHTML('<>'), /&lt;&gt;/);

convertHTML("abc") should return the string abc.

assert.strictEqual(convertHTML('abc'), 'abc');

--seed--

--seed-contents--

function convertHTML(str) {
return str;
}

convertHTML("Dolce & Gabbana");

--solutions--

var MAP = { '&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&apos;'};

function convertHTML(str) {
return str.replace(/[&<>"']/g, function(c) {
return MAP[c];
});
}