Files
wehub-resource-sync dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

90 lines
1.8 KiB
Markdown

---
id: a6b0bb188d873cb2c8729495
title: Convert HTML Entities
challengeType: 1
forumTopicId: 16007
dashedName: convert-html-entities
---
# --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`.
```js
assert.match(convertHTML('Dolce & Gabbana'), /Dolce &amp; Gabbana/);
```
`convertHTML("Hamburgers < Pizza < Tacos")` should return the string `Hamburgers &lt; Pizza &lt; Tacos`.
```js
assert.match(
convertHTML('Hamburgers < Pizza < Tacos'),
/Hamburgers &lt; Pizza &lt; Tacos/
);
```
`convertHTML("Sixty > twelve")` should return the string `Sixty &gt; twelve`.
```js
assert.match(convertHTML('Sixty > twelve'), /Sixty &gt; twelve/);
```
`convertHTML('Stuff in "quotation marks"')` should return the string `Stuff in &quot;quotation marks&quot;`.
```js
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`.
```js
assert.match(convertHTML("Schindler's List"), /Schindler&apos;s List/);
```
`convertHTML("<>")` should return the string `&lt;&gt;`.
```js
assert.match(convertHTML('<>'), /&lt;&gt;/);
```
`convertHTML("abc")` should return the string `abc`.
```js
assert.strictEqual(convertHTML('abc'), 'abc');
```
# --seed--
## --seed-contents--
```js
function convertHTML(str) {
return str;
}
convertHTML("Dolce & Gabbana");
```
# --solutions--
```js
var MAP = { '&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&apos;'};
function convertHTML(str) {
return str.replace(/[&<>"']/g, function(c) {
return MAP[c];
});
}
```