vanilla js替代jquery方法来执行安全的html解码?

时间:2014-02-13 22:31:31

标签: javascript jquery html-encode

我对jQuery有一个我不想要的依赖,需要一个浏览器安全的方法来解码服务器端的html编码内容。

我想要的效果是将现有的DOM元素替换为解码后的html,其行如下:

$('#targetId').replaceWith($('<div/>').html(value).text());

其中value包含一个html编码的字符串。

或者,也可以采用更直接的方法。

2 个答案:

答案 0 :(得分:1)

这是一种方法:

function DecodeHtmlString(htmlString){
  var temp = document.createElement("textarea");
  temp.innerHTML = htmlString;
  return temp.value;
}

答案 1 :(得分:1)

现实世界的另类选择。我混合一些PHP因为原因。

&#13;
&#13;
var Lang = Lang || new Object();

Lang._t  = function(str) {
    var buf = [];

    for (var i=str.length-1;i>=0;i--) {
        buf.unshift(['&#', str[i].charCodeAt(), ';'].join(''));
    }

    return buf.join('');
},


Lang.same_password = Lang._t(<?php echo json_encode($langtextos->same_password); ?>);


function foo(pass1, pass2){
   if( pass1 == pass2){
       message.innerHTML = Lang.same_pass;
       return false;
   }
      
   return true;
}
&#13;
&#13;
&#13;