HTML 인코딩은 단순히 대체 &, ", ', <그리고 >자신의 엔티티 등가물로 문자를. 순서가 중요합니다. &먼저 문자를 바꾸지 않으면 일부 엔터티를 이중 인코딩합니다.
if (!String.prototype.encodeHTML) {
String.prototype.encodeHTML = function () {
return this.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
};
}
@Johan BW 드 브리스가 지적한 바와 같이,이 태그 이름에 문제가있을 것이다, 나는이가 사용되었다는 가정하에 작성 명확히하고 싶습니다 value 만
반대로 HTML 엔터티 1 을 디코딩 &하려면 &엔터티를 이중 디코딩하지 않도록 다른 모든 항목 이후에 디코딩해야합니다 .
if (!String.prototype.decodeHTML) {
String.prototype.decodeHTML = function () {
return this.replace(/'/g, "'")
.replace(/"/g, '"')
.replace(/>/g, '>')
.replace(/</g, '<')
.replace(/&/g, '&');
};
}
1 개 포함뿐만 아니라 기초, ©에 ©또는 다른 것들
도서관에 관한 한. Underscore.js (또는 원하는 경우 Lodash )는 _.escape이 기능을 수행 하는 방법을 제공 합니다.