moim.bio

HTML 엔티티 디코딩

< 가 같은 엔티티를 원래 글자로 되돌립니다. 이름 참조와 숫자 참조를 모두 처리합니다.

이름 참조와 숫자 참조를 모두 풉니다

HTML 엔티티에는 두 가지 표기가 있습니다.

둘 다 처리합니다. 목록을 직접 들고 있는 게 아니라 브라우저의 HTML 파서에 맡기기 때문에, 표준에 있는 엔티티라면 빠짐없이 풀립니다.

안전하게 푼다는 것

엔티티를 푸는 흔한 방법은 div.innerHTML = 값을 쓴 뒤 textContent를 읽는 것입니다. 그런데 값에 <img src=x onerror=…>가 섞여 있으면 그 순간 코드가 실행됩니다. 남의 로그를 붙여넣는 도구에서는 위험합니다.

이 도구는 DOMParser로 화면에 붙지 않는 별도 문서를 만들어 거기서 글자만 꺼냅니다. 스크립트도 이미지 요청도 실행되지 않습니다.

&nbsp; 때문에 문자열 비교가 실패할 때

웹 페이지에서 복사한 텍스트에는 &nbsp;(U+00A0)가 자주 섞여 있습니다. 화면에서는 그냥 공백으로 보이는데, 코드에서 trim()이 안 먹고 비교가 실패합니다. 엑셀·워드에서 붙여넣은 데이터도 마찬가지입니다.

디코딩 후에도 이게 남아 있으면 결과창 아래에 몇 개인지 알려 줍니다. 줄바꿈 없는 공백을 보통 공백으로를 켜면 보통 공백으로 바꿔 줍니다.

&amp;lt; 처럼 두 번 감싸진 값은요?

템플릿 엔진이 이스케이프한 값을 한 번 더 이스케이프하면 이렇게 됩니다. 이중 이스케이프 끝까지 풀기를 켜면 변화가 없을 때까지 반복합니다. 다만 본문에 진짜로 &lt;라고 적혀 있던 경우까지 풀어 버리므로, 원인을 찾을 때만 켜세요.

다른 도구 33개