83 lines
3.4 KiB
Markdown
83 lines
3.4 KiB
Markdown
|
---
|
|||
|
id: a6b0bb188d873cb2c8729495
|
|||
|
title: Convert HTML Entities
|
|||
|
localeTitle: Convertir entidades HTML
|
|||
|
isRequired: true
|
|||
|
challengeType: 5
|
|||
|
---
|
|||
|
|
|||
|
## Description
|
|||
|
<section id='description'>
|
|||
|
Convierta los caracteres <code>&</code> , <code><</code> , <code>></code> , <code>"</code> (comillas dobles) y <code>'</code> (apóstrofe), en una cadena a sus entidades HTML correspondientes.
|
|||
|
Recuerde usar <a href='http://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck/19514' target='_blank'>Lectura-Búsqueda-Preguntar</a> si se atasca. Intente vincular el programa. Escribe tu propio código.
|
|||
|
</section>
|
|||
|
|
|||
|
## Instructions
|
|||
|
<section id='instructions'>
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Tests
|
|||
|
<section id='tests'>
|
|||
|
|
|||
|
```yml
|
|||
|
tests:
|
|||
|
- text: ' <code>convertHTML("Dolce & Gabbana")</code> debe devolver <code>Dolce &amp; Gabbana</code> .
|
|||
|
testString: 'assert.match(convertHTML("Dolce & Gabbana"), /Dolce & Gabbana/, "<code>convertHTML("Dolce & Gabbana")</code> should return <code>Dolce &​amp; Gabbana</code>.");'
|
|||
|
- text: ' <code>convertHTML("Hamburgers < Pizza < Tacos")</code> debe devolver <code>Hamburgers &lt; Pizza &lt; Tacos</code> .
|
|||
|
testString: 'assert.match(convertHTML("Hamburgers < Pizza < Tacos"), /Hamburgers < Pizza < Tacos/, "<code>convertHTML("Hamburgers < Pizza < Tacos")</code> should return <code>Hamburgers &​lt; Pizza &​lt; Tacos</code>.");'
|
|||
|
- text: ' <code>convertHTML("Sixty > twelve")</code> debe devolver <code>Sixty &gt; twelve</code> .
|
|||
|
testString: 'assert.match(convertHTML("Sixty > twelve"), /Sixty > twelve/, "<code>convertHTML("Sixty > twelve")</code> should return <code>Sixty &​gt; twelve</code>.");'
|
|||
|
- text: ' <code>convertHTML('Stuff in "quotation marks"')</code> debería devolver <code>Stuff in &quot;quotation marks&quot;</code> .
|
|||
|
testString: 'assert.match(convertHTML("Stuff in "quotation marks""), /Stuff in "quotation marks"/, "<code>convertHTML('Stuff in "quotation marks"')</code> should return <code>Stuff in &​quot;quotation marks&​quot;</code>.");'
|
|||
|
- text: ' <code>convertHTML("Schindler's List")</code> debe devolver la <code>Schindler&apos;s List</code> .
|
|||
|
testString: 'assert.match(convertHTML("Schindler"s List"), /Schindler's List/, "<code>convertHTML("Schindler's List")</code> should return <code>Schindler&​apos;s List</code>.");'
|
|||
|
- text: ' <code>convertHTML("<>")</code> debe devolver <code>&lt;&gt;</code> .
|
|||
|
testString: 'assert.match(convertHTML("<>"), /<>/, "<code>convertHTML("<>")</code> should return <code>&​lt;&​gt;</code>.");'
|
|||
|
- text: <code>convertHTML("abc")</code> debe devolver <code>abc</code> .
|
|||
|
testString: 'assert.strictEqual(convertHTML("abc"), "abc", "<code>convertHTML("abc")</code> should return <code>abc</code>.");'
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</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>
|