作家
登录

javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)

作者: 来源:www.28hudong.com 2013-03-30 02:34:12 阅读 我要评论

方法一: 用的浏览器内部转换器实现转换,方法是动态创建一个容器标签元素,如DIV,将要转换的字符串设置为这个元素的innerText(ie支持)||textContent(火狐支持),然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串,显示的时候反过来就可以了(实际上显示的时候不用通过转换,直接赋值在div就可以正常显示的)。 复制代码 代码如下:<script type="text/javascript"> function HTMLEncode(html) { var temp = document.createElement ("div"); (temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html); var output = temp.innerHTML; temp = null; return output; } function HTMLDecode(text) { var temp = document.createElement("div"); temp.innerHTML = text; var output = temp.innerText || temp.textContent; temp = null; return output; } var html = "<br>dffdf<p>qqqqq</p>"; var encodeHTML = HTMLEncode(html); alert("方式一:" + encodeHTML); var decodeHTML = HTMLDecode(encodeHTML); alert("方式一:" + decodeHTML); </script> 方法二: 通过把正则表达式把<>和空格符转换成html编码,由于这种方式不是系统内置的所以很容易出现有些特殊标签没有替换的情况,而且效率低下 复制代码 代码如下:<script type="text/javascript"> function HTMLEncode2(str) { var s = ""; if(str.length == 0) return ""; s = str.replace(/&/g,"&"); s = s.replace(/</g,"<"); s = s.replace(/>/g,">"); s = s.replace(/ /g," "); s = s.replace(/'/g,"'"); s = s.replace(/"/g,"""); return s; } function HTMLDecode2(str) { var s = ""; if(str.length == 0) return ""; s = str.replace(/&/g,"&"); s = s.replace(/</g,"<"); s = s.replace(/>/g,">"); s = s.replace(/ /g," "); s = s.replace(/'/g,"'"); s = s.replace(/"/g,"""); return s; } var html = "<br>ccccc<p>aaaaa</p>"; var encodeHTML = HTMLEncode2(html); alert("方式二:" + encodeHTML); var decodeHTML = HTMLDecode2("方式二:" + encodeHTML); alert(decodeHTML); </script>

  推荐阅读

  scrollTop 用法说明

下面的演示中,外层元素的高度值是200px,内层元素的高度值是300px。很明显,“外层元素中的内容”高过了“外层元素”本身.当向下拖动滚动条时,有部分内容会隐没在“外层元素的上边界”之外,scrollTop就等于这部分>>>详细阅读


本文标题:javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)

地址:http://www.17bianji.com/kaifa2/JS/28620.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)