이 기사의 예에서는 htmlencode() 및 htmldecode() 함수를 구현하는 JavaScript의 대체 방법을 설명합니다. 참고할 수 있도록 자세한 내용은 다음과 같습니다.
가장 일반적인 방법은 < > htmlencoding.을 사용하지만, 일반적인 <>& 외에도 ©"®, 뿐만 아니라 AB 중국어 또는 중국어와 같은 문자의 10진수 또는 16진수 인코딩으로 표현된 이스케이프를 모두 열거하기 어렵습니다. 이를 하나씩 대체하는 것은 길고 비효율적일 뿐만 아니라 일부 문자를 놓치기 쉽습니다.
코드는 다음과 같습니다.function htmlencode(s){ var div = document.createElement('div'); div.appendChild(document.createTextNode(s)); return div.innerHTML; } function htmldecode(s){ var div = document.createElement('div'); div.innerHTML = s; return div.innerText || div.textContent; }
//测试 document.onclick = function (){ //<p> & </p> alert(htmlencode('<p> & </p>')); //<p> & © ABC 中文 中文 </p> alert(htmldecode('<p> & © ABC 中文 中文 </p>')); }