* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
1.8 KiB
1.8 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
a6b0bb188d873cb2c8729495 | 转换 HTML 实体字符 | 5 | 16007 | convert-html-entities |
--description--
请将字符串中的 &
、<
、>
、"
(双引号)和 '
(单引号)转换为 HTML 实体字符,并返回转换之后的字符串。
--hints--
convertHTML("Dolce & Gabbana")
应返回 "Dolce & Gabbana"
。
assert.match(convertHTML('Dolce & Gabbana'), /Dolce & Gabbana/);
convertHTML("Hamburgers < Pizza < Tacos")
应返回 "Hamburgers < Pizza < Tacos"
。
assert.match(
convertHTML('Hamburgers < Pizza < Tacos'),
/Hamburgers < Pizza < Tacos/
);
convertHTML("Sixty > twelve")
应返回 "Sixty > twelve"
。
assert.match(convertHTML('Sixty > twelve'), /Sixty > twelve/);
convertHTML('Stuff in "quotation marks"')
应返回 "Stuff in "quotation marks""
。
assert.match(
convertHTML('Stuff in "quotation marks"'),
/Stuff in "quotation marks"/
);
convertHTML("Schindler's List")
应返回 "Schindler's List"
。
assert.match(convertHTML("Schindler's List"), /Schindler's List/);
convertHTML("<>")
应返回 "<>"
。
assert.match(convertHTML('<>'), /<>/);
convertHTML("abc")
应返回 "abc"
。
assert.strictEqual(convertHTML('abc'), 'abc');
--seed--
--seed-contents--
function convertHTML(str) {
return str;
}
convertHTML("Dolce & Gabbana");
--solutions--
var MAP = { '&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''};
function convertHTML(str) {
return str.replace(/[&<>"']/g, function(c) {
return MAP[c];
});
}