JS Html 전의 와 반전 의(html 인 코딩 과 디 코딩)의 실현 과 사용 방법 총화
1.JS 는 html 전의 와 반전 의 미 를 실현 하 는 데 주로 두 가지 방식 이 있다.
1)브 라 우 저 내부 변환기 로 html 전 의 를 실현 한다.
2)정규 표현 식 으로 html 전 의 를 실현 한다.
2.포 장 된 JS 도구 종류:
var HtmlUtil = {
/*1. html ( )*/
htmlEncode:function (html){
//1. , DIV
var temp = document.createElement ("div");
//2. innerText textContent
(temp.textContent != undefined ) ? (temp.textContent = html) : (temp.innerText = html);
//3. innerHTML, HTML
var output = temp.innerHTML;
temp = null;
return output;
},
/*2. html ( )*/
htmlDecode:function (text){
//1. , DIV
var temp = document.createElement("div");
//2. innerHTML(ie, ,google )
temp.innerHTML = text;
//3. innerText textContent, HTML 。
var output = temp.innerText || temp.textContent;
temp = null;
return output;
},
/*3. html ( )*/
htmlEncodeByRegExp:function (str){
var temp = "";
if(str.length == 0) return "";
temp = str.replace(/&/g,"&");
temp = temp.replace(/</g,"<");
temp = temp.replace(/>/g,">");
temp = temp.replace(/\s/g," ");
temp = temp.replace(/\'/g,"'");
temp = temp.replace(/\"/g,""");
return temp;
},
/*4. html ( )*/
htmlDecodeByRegExp:function (str){
var temp = "";
if(str.length == 0) return "";
temp = str.replace(/&/g,"&");
temp = temp.replace(/</g,"<");
temp = temp.replace(/>/g,">");
temp = temp.replace(/ /g," ");
temp = temp.replace(/'/g,"\'");
temp = temp.replace(/"/g,"\"");
return temp;
},
/*5. html ( )( )*/
html2Escape:function(sHtml) {
return sHtml.replace(/[<>&"]/g,function(c){return {'<':'<','>':'>','&':'&','"':'"'}[c];});
},
/*6. html ( )( )*/
escape2Html:function (str) {
var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'};
return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
}
};
3.테스트 및 효과:1)、html 코드:
<div>&</div>
<div>&</div>
<div id="testdiv"></div>
<div id="testdiv1"></div>
<div id="testdiv2"></div>
<div id="regdiv"></div>
<div id="regdiv1"></div>
<div id="regdiv2"></div>
<div id="regdiv3"></div>
<div id="regdiv4"></div>
<div id="regdiv5"></div>
2),js 테스트 코드:
var strHtml='<div style="color:blue"> :&<div>';
document.getElementById("testdiv").innerHTML=strHtml;
var encodedHtml= HtmlUtil.htmlEncode(strHtml);// "<div style="color:blue"> :&amp;<div>"
document.getElementById("testdiv1").innerHTML=encodedHtml;
var decodedHtml=HtmlUtil.htmlDecode(encodedHtml);// '<div style="color:blue"> :&<div>'
document.getElementById("testdiv2").innerHTML=decodedHtml;
var strHtml_1='<div style="color:red"> :&<div>';
document.getElementById("regdiv").innerHTML=strHtml_1;
var encodedHtml_1 =HtmlUtil.htmlEncodeByRegExp(strHtml_1);// "<div style="color:red"> :&amp;<div>"
document.getElementById("regdiv1").innerHTML=encodedHtml_1;
var decodedHtml_1 =HtmlUtil.htmlDecodeByRegExp(encodedHtml_1);// '<div style="color:blue"> :&<div>'
document.getElementById("regdiv2").innerHTML=decodedHtml_1;
var strHtml_2='<div style="color:green"> :&<div>';
document.getElementById("regdiv3").innerHTML=strHtml_2;
var encodedHtml_2 =HtmlUtil.htmlEncodeByRegExp(strHtml_2);// "<div style="color:green"> :&amp;<div>"
document.getElementById("regdiv4").innerHTML=encodedHtml_2;
var decodedHtml_2 =HtmlUtil.htmlDecodeByRegExp(encodedHtml_2);// '<div style="color:green"> :&<div>'
document.getElementById("regdiv5").innerHTML=decodedHtml_2;
3)、효과 도:4.html 문자열 을 처리 하 는 일반적인 방법
1),문자열 의 html 라벨 제거
function removeHtmlTab(tab) {
return tab.replace(/<[^<>]+?>/g,'');// HTML
}
removeHtmlTab('<div id="test">zyl</div><span>zzc</span>');// zylzzc
2)、리 턴\r 에서태그 로 전환
function return2Br(str) {
return str.replace(/\r?
/g,"<br />");
}
3)、시작 과 끝 을 제거 하고 3 회 이상 줄 을 2 회 줄 로 바꾼다.
function trimBr(str) {
str=str.replace(/((\s| )*\r?
){3,}/g,"\r
\r
");// 2
str=str.replace(/^((\s| )*\r?
)+/g,'');//
str=str.replace(/((\s| )*\r?
)+$/g,'');//
return str;
}
4)여러 연속 스페이스 바 를 하나의 스페이스 바 로 통합
function mergeSpace(str) {
str=str.replace(/(\s| )+/g,' ');
return str;
}
PS:여기 서 여러분 께 참고 하여 사용 할 수 있 도록 몇 가지 관련 도 구 를 제공 합 니 다.온라인 HTML 전의/반전 도구:
http://tools.jb51.net/transcoding/html_transcode
Native/Unicode 온라인 인 코딩 변환 도구:
http://tools.jb51.net/transcoding/native2unicode
온라인 중국어 한자/ASCI 코드/유 니 코드 인 코딩 상호 변환 도구:
http://tools.jb51.net/transcoding/chinese2unicode
더 많은 자 바스 크 립 트 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 판단 수조 네 가지 실현 방법 상세그러면 본고는 주로 몇 가지 판단 방식과 방식 판단의 원리를 바탕으로 문제가 있는지 토론하고자 한다. 예를 들어 html에 여러 개의 iframe 대상이 있으면 instanceof의 검증 결과가 기대에 부합되지 않을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.