FCC--Convert HTML Entities(转化HTML实体)

来源:互联网 发布:研究方向数据图像处理 编辑:程序博客网 时间:2024/03/28 22:54

题目描述:将字符串中的字符&<>" (双引号), 以及' (单引号)转换为它们对应的 HTML 实体。

例子:convert("Dolce & Gabbana") 应该返回 Dolce &​amp; Gabbana。
convert("Hamburgers < Pizza < Tacos") 应该返回 Hamburgers &​lt; Pizza &​lt; Tacos。
convert("Sixty > twelve") 应该返回 Sixty &​gt; twelve。
convert('Stuff in "quotation marks"') 应该返回 Stuff in &​quot;quotation marks&​quot;。
convert("Shindler's List") 应该返回 Shindler&​apos;s List。
convert("<>") 应该返回 &​lt;&​gt;。
convert("abc") 应该返回 abc。

题目解析:就是将已知的HTML实体将原来的字符串的符号替换掉。很容易想到用replace的正则将其替换掉,但是替换的标准怎么设定?很容易也就想到了对象,正好是key和val的对应关系,可以很好的完成这个题目。

function convert(str) {  // :)  var entityMap = {    '&' : '&',    '<' : '<',    '>' : '>',    '\"' : '"',    '\'' : ''',  };    return str.replace(/[&<>"']/g, function(matched){              return entityMap[matched];              });}convert("Dolce & Gabbana");

唯一需要注意的就是用转义字符将引号表示为字符,也可以用这样的方法("'",'"')效果是一样的。

阅读全文
0 0
原创粉丝点击