我在数据库中有一条记录:<script src="here is link"></script>
.
它是将斜杠转换为特殊 HTML 字符的正则表达式:string.replace(/\<\/script\>/g, '</script>');
然后我将它输出到页面。
输出后的结果:
<script src="http://code.jquery.com/jquery-latest.min.js">
</script>
</script>
为什么输出 HTML 字符?我需要用正则表达式再次转换它吗?
使用这些 JavaScript 函数:
function decodeHTMLEntities(str) {
return str.replace(/&#(\d+);/g, function(match, dec) {
return String.fromCharCode(dec);
});
};
var encodeHtmlEntity = function(str) {
var buf = [];
for (var i=str.length-1;i>=0;i--) {
buf.unshift(['&#', str[i].charCodeAt(), ';'].join(''));
}
return buf.join('');
};
alert(decodeHTMLEntities('</script>'))
演示 http://jsfiddle.net/tuga/6pXmn/3/
SRC https://gist.github.com/CatTail/4174511