Oliver Eyton-Williams ee1e8abd87
feat(curriculum): restore seed + solution to Chinese (#40683)
* 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>
2021-01-12 19:31:00 -07:00

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 &amp; Gabbana"

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

convertHTML("Hamburgers < Pizza < Tacos") 应返回 "Hamburgers &lt; Pizza &lt; Tacos"

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

convertHTML("Sixty > twelve") 应返回 "Sixty &gt; twelve"

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

convertHTML('Stuff in "quotation marks"') 应返回 "Stuff in &quot;quotation marks&quot;"

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

convertHTML("Schindler's List") 应返回 "Schindler&apos;s List"

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

convertHTML("<>") 应返回 "&lt;&gt;"

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

convertHTML("abc") 应返回 "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];
  });
}