일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- animation
- 배열
- slice
- 비동기
- 모듈
- async
- ajax
- 문자열
- event
- input
- ES6
- json
- object
- Push
- video
- This
- scroll
- 스크롤
- 이벤트 루프
- 고차함수
- 애니메이션
- IntersectionObserver
- ios
- 클로저
- array
- 이벤트 위임
- dom
- Flex
- Promise
- 이벤트
- Today
- Total
FEDev Story
HTML 엔티티(entity) 이스케이프(escape), 이스케이핑(escaping) 본문
안녕하세요. 이번 시간에는 HTML 엔티티에 대해서 알아보겠습니다!
혹시 HTML 소스를 보다가 나 < 또는 >를 보신 적이 있나요? 이 문자들은 HTML 파일이 깨져서 나타나는 문자가 아닙니다. 바로 HTML 엔티티입니다.
HTML에서 태그를 표현할 때 다음과 같이 하곤 하죠.
<div>zero</div>
만약 태그 안의 내용물에 <를 넣고 싶다면 어떻게 해야 할까요? 보통 다음과 같이 하겠죠?
<div><zero</div>
하지만, 위와 같이 하면 제대로 나오지 않습니다. 바로 <는 HTML에서 태그의 시작을 알리는 문자이기 때문이죠. 따라서 HTML은 <를 보면 문자로 여기지 않고, 태그의 시작으로 여겨서 뒷 부분이 에러가 납니다. 이러한 특수 문자를 표현하기 위한 것이 HTML 엔티티입니다. <는 <로 나타내면 제대로 나옵니다.
이렇게 특정 문자를 HTML로 변환하는 행위를 Escape(이스케이프)한다고 말합니다.
<div><zero</div>
비슷한 경우로 띄어쓰기가 있습니다. HTML에서는 아무리 띄어쓰기를 해도 하나의 띄어쓰기로만 인식합니다.
<div> 띄어 쓰기 </div>
그래서 만약 정말 두 칸 이상의 띄어쓰기가 필요할 경우에는 HTML 엔티티를 사용해야 합니다. 입니다.
<div> 띄어 쓰기 </div>
이제 띄어쓰기가 원하는 대로 됩니다. 여기서 퀴즈 하나를 내보겠습니다. 만약 <라는 글자를 쓰고 싶을 때는 어떻게 할까요? <를 곧이곧대로 치면 <로 변환되어버립니다. 이 때는 &를 변환해주어야 합니다. &는 &로 변환합니다.
<div>&lt;</div>
&를 입력하려면 &amp;로 써야하는 웃지 못할 상황이 생기기도 합니다. 하나 또 자주 하는 이스케이핑으로 큰따옴표가 있습니다. 큰 따옴표는 "로 이스케이프합니다.
<div>"zero&qout;</div>
자주 쓰이는 것들을 정리해보았습니다.
- < -- <
- > -- >
- (띄어쓰기) --
- & -- &
- " -- "
- ' -- '
- © -- ©
기억해두시면 나중에 갑자기 HTML에서 문자가 나오지 않을 때 대처할 수 있을 겁니다.
'Web.Dev' 카테고리의 다른 글
Swiper.js와 Ajax 호출을 이용한 동적 슬라이드 구현 (1) | 2019.03.26 |
---|---|
[스크랩] 스크롤을 감지하여 사이트의 헤더를 보이거나 숨기기 (0) | 2019.01.10 |
[HTML] 엔티티 코드(entity code) (0) | 2018.09.12 |
[스크랩] 개발 노트 Git, 가장 쉽게 사용하기 - (2) commit, branch 전략 잘 짜는 법 (0) | 2018.09.07 |
[스크랩] 개발 노트 Git, 가장 쉽게 사용하기 - (1) 심플함이 답이다 (0) | 2018.09.07 |