挑战:
将字符串中的字符 &、<、>、" (双引号), 以及 ’ (单引号)转换为它们对应的 HTML 实体。
如果你被卡住了,记得开大招 Read-Search-Ask。尝试与他人交流编程思路、但编写你自己的代码。
例如:
convert("Dolce & Gabbana") 应该返回 Dolce & Gabbana。
convert("Hamburgers < Pizza < Tacos") 应该返回 Hamburgers < Pizza < Tacos。
convert("Sixty > twelve") 应该返回 Sixty > twelve。
convert('Stuff in "quotation marks"') 应该返回 Stuff in "quotation marks"。
convert("Shindler's List") 应该返回 Shindler's List。
convert("<>") 应该返回 <>。
convert("abc") 应该返回 abc。
答案:
方法
描述
RegExp
是正则表达式(regular expression)的简写。
replace()
替换与正则表达式匹配的子串。
HTML 字符实体
HTML 中的预留字符必须被替换为字符实体。
function convert(str) { var list={ "&":"&", "<":"<", ">":">", '"':""", "'":"'", }; for(var key in list){ str=str.replace(new RegExp(key,"g"),list[key]); } return str; } convert("Dolce & Gabbana");
运行结果:
Dolce & Gabbana
在线测试:
html符号转实体算法挑战 | w3cschool
总结