原生JavaScript或ES6的方式来编码和解码HTML实体?
有没有一种原生的方式来编码或解码使用JavaScript或ES6的HTML实体 ? 例如, <
将被编码为<
。 有像Node.js的html-entities
这样的库,但是感觉应该有一些内置在JavaScript中的东西已经处理了这个共同的需求。
JavaScript API中没有将ASCII字符转换为与其“html实体”等效的本机function。 这是您可能喜欢的一个解决scheme和一个简单的技巧的开始
解码HTML我只是使用<pre>
标签和这个函数:
function convertHTML(str) { var entityPairs = [ {character: '&', html: '&'}, {character: '<', html: '<'}, {character: '>', html: '>'}, {character: "'", html: '''}, {character: '"', html: '"'}, ]; entityPairs.forEach(function(pair){ var reg = new RegExp(pair.character, 'g'); str = str.replace(reg, pair.html); }); return str; } //var or file.html from Ajax var str = ` <head> <title>OK</title> </head>`; document.getElementById("preHtml").innerHTML = convertHTML(str);
<pre id="preHtml"></pre>