2018-10-10 18:03:03 -04:00
|
|
|
---
|
|
|
|
id: a6b0bb188d873cb2c8729495
|
2021-01-12 08:18:51 -08:00
|
|
|
title: 转换 HTML 实体字符
|
2020-12-16 00:37:30 -07:00
|
|
|
challengeType: 5
|
2021-01-12 08:18:51 -08:00
|
|
|
forumTopicId: 16007
|
2021-01-13 03:31:00 +01:00
|
|
|
dashedName: convert-html-entities
|
2018-10-10 18:03:03 -04:00
|
|
|
---
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --description--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2021-01-12 08:18:51 -08:00
|
|
|
请将字符串中的 `&`、`<`、`>`、`"`(双引号)和 `'`(单引号)转换为 [HTML 实体字符](https://developer.mozilla.org/zh-CN/docs/Glossary/Entity),并返回转换之后的字符串。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --hints--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2021-01-12 08:18:51 -08:00
|
|
|
`convertHTML("Dolce & Gabbana")` 应返回 `"Dolce & Gabbana"`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
```js
|
|
|
|
assert.match(convertHTML('Dolce & Gabbana'), /Dolce & Gabbana/);
|
|
|
|
```
|
|
|
|
|
2021-01-12 08:18:51 -08:00
|
|
|
`convertHTML("Hamburgers < Pizza < Tacos")` 应返回 `"Hamburgers < Pizza < Tacos"`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
assert.match(
|
|
|
|
convertHTML('Hamburgers < Pizza < Tacos'),
|
|
|
|
/Hamburgers < Pizza < Tacos/
|
|
|
|
);
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2021-01-12 08:18:51 -08:00
|
|
|
`convertHTML("Sixty > twelve")` 应返回 `"Sixty > twelve"`。
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert.match(convertHTML('Sixty > twelve'), /Sixty > twelve/);
|
2018-10-10 18:03:03 -04:00
|
|
|
```
|
|
|
|
|
2021-01-12 08:18:51 -08:00
|
|
|
`convertHTML('Stuff in "quotation marks"')` 应返回 `"Stuff in "quotation marks""`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
```js
|
|
|
|
assert.match(
|
|
|
|
convertHTML('Stuff in "quotation marks"'),
|
|
|
|
/Stuff in "quotation marks"/
|
|
|
|
);
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2021-01-12 08:18:51 -08:00
|
|
|
`convertHTML("Schindler's List")` 应返回 `"Schindler's List"`。
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert.match(convertHTML("Schindler's List"), /Schindler's List/);
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2021-01-12 08:18:51 -08:00
|
|
|
`convertHTML("<>")` 应返回 `"<>"`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
```js
|
|
|
|
assert.match(convertHTML('<>'), /<>/);
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2021-01-12 08:18:51 -08:00
|
|
|
`convertHTML("abc")` 应返回 `"abc"`。
|
2020-09-07 16:10:29 +08:00
|
|
|
|
2018-10-10 18:03:03 -04:00
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
assert.strictEqual(convertHTML('abc'), 'abc');
|
2018-10-10 18:03:03 -04:00
|
|
|
```
|
2020-08-13 17:24:35 +02:00
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
# --seed--
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
```js
|
|
|
|
function convertHTML(str) {
|
|
|
|
return str;
|
|
|
|
}
|
|
|
|
|
|
|
|
convertHTML("Dolce & Gabbana");
|
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --solutions--
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
```js
|
|
|
|
var MAP = { '&': '&',
|
|
|
|
'<': '<',
|
|
|
|
'>': '>',
|
|
|
|
'"': '"',
|
|
|
|
"'": '''};
|
|
|
|
|
|
|
|
function convertHTML(str) {
|
|
|
|
return str.replace(/[&<>"']/g, function(c) {
|
|
|
|
return MAP[c];
|
|
|
|
});
|
|
|
|
}
|
|
|
|
```
|