js转html实体的方法

2019/6/27 21:45:02

本文主要是介绍js转html实体的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

方法一:

用的浏览器内部转换器实现转换,方法是动态创建一个容器标签元素,如DIV,将要转换的字符串设置为这个元素的innerText,然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串。

function HTMLEncode ( input ) 
{ 
var converter = document.createElement("DIV"); 
converter.innerText = input; 
var output = converter.innerHTML; 
converter = null; 
return output; 
} 

当 然,还可以用相同的方法实现对字符串的HTMLDecode解码,但有个问题就是紧跟在字符" <"后面的非空字符将连同字符" <"同时显示不出来。当然,对字符串作相应处理是可以解决这个问题的,比如在字符" <"后面加个空格,解码后再去掉就行,这是后话。毕竟,要使用 HTMLDecode方法解码,自然是字符串已经经过HTMLEncode方法编码了,而经过HTMLEncode编码后的字符串,是不可能有字符 " <"存在的。

function HTMLDecode ( input ) 
{ 
var converter = document.createElement("DIV"); 
converter.innerHTML = input; 
var output = converter.innerText; 
converter = null; 
return output; 
} 

方法二:

<script  language=javascript> 

 function  HTMLEnCode(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,   """); 
    s  =  s.replace(/\n/g,   " <br>"); 
    return  s; 
 } 
 function  HTMLDeCode(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,   "\""); 
    s  =  s.replace(/ <br>/g,   "\n"); 
    return  s; 
 } 
 </script>

以上就是小编为大家带来的js转html实体的方法的全部内容了,希望对大家有所帮助,多多支持找一找教程网~



这篇关于js转html实体的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程