HTML 엔터티를 원래 문자로 디코딩하는 방법
내용이 있는 HTML 인코딩 텍스트를 입력하면 포함된 HTML 엔터티를 대응하는 문자로 디코딩할 수 있습니다. 입력이 비어 있거나 디코딩 중 예외가 발생하면 실패 결과가 반환됩니다.
HTML 엔터티를 디코딩할 때 알아둘 점
HTML 엔터티는 문자를 직접 쓰지 않고 다른 표기로 나타낸 텍스트입니다. &는 앰퍼샌드 문자를 가리키는 표현입니다. <처럼 꺾쇠 문자를 나타내는 표기도 있습니다. 이 도구는 입력 텍스트 안에 있는 HTML 엔터티를 대응하는 문자로 디코딩합니다. 따라서 복사한 문장에 엔터티 표기가 남은 경우에 활용할 수 있습니다. 저장된 값을 사람이 읽기 쉬운 모습으로 확인할 때도 사용할 수 있습니다. 입력란에는 HTML 인코딩 텍스트를 넣습니다. 문장 전체를 넣어도 되고, 확인하려는 짧은 값만 넣어도 됩니다. 처리 대상은 입력된 텍스트입니다. 입력에 엔터티가 있으면 해당 위치의 표현이 문자로 바뀝니다. 엔터티가 없는 일반 텍스트를 넣은 경우에는 바뀔 표기가 없을 수 있습니다. 이 도구의 목적은 문자 표현을 해석하는 데 있습니다. HTML을 다루는 모든 작업을 한 번에 처리하는 기능으로 이해하지 않는 것이 좋습니다. 입력의 의미와 결과의 형태를 함께 살펴보면 사용 범위를 판단하기 쉽습니다.
입력하고 반환 결과를 확인하는 순서
- 디코딩하려는 값을 준비합니다. 원문에
&,<같은 HTML 엔터티 표기가 남아 있는지 확인합니다. 표기가 포함된 문장이라면 주변 글자도 함께 넣을 수 있습니다. 2. 준비한 HTML 인코딩 텍스트를 입력란에 붙여 넣습니다. 입력을 생략할 수 있는 형태로 보이더라도 실제 계산에는 내용이 필요합니다. 처리할 값이 있는지 입력란에서 다시 확인합니다. 3. 입력한 텍스트를 대상으로 처리를 시작합니다. 별도의 설명을 덧붙이기보다 디코딩할 원문을 그대로 넣는 편이 결과를 확인하기 쉽습니다. 4. 반환된 결과를 읽습니다. 성공한 경우 입력 안의 HTML 엔터티가 대응하는 문자로 바뀐 텍스트가 표시됩니다. 입력 문장의 나머지 부분과 변환된 위치를 함께 비교합니다. 5. 예상한 변화가 보이지 않으면 원문에 실제 엔터티 표기가 있었는지 살펴봅니다. 일반 문자는 엔터티가 아니므로 같은 모습으로 남을 수 있습니다. 6. 성공 결과가 나오지 않으면 입력 내용이 비어 있지 않은지 먼저 점검합니다. 내용이 없는 입력에서는 디코딩된 텍스트 대신 실패 결과가 반환됩니다. 입력을 보완한 뒤 다시 처리합니다. 7. 입력을 확인했는데도 실패 결과라면 디코딩 중 예외가 발생했을 가능성을 고려합니다. 이 경우에도 성공한 텍스트 대신 실패 결과가 반환될 수 있습니다. 원문을 다시 확인하고 처리 결과의 성공 여부를 구분합니다. 8. 결과를 다른 곳에 사용할 때는 변환된 텍스트가 필요한 목적에 맞는지 확인합니다. 문자로 바뀐 결과와 원래 인코딩된 값을 혼동하지 않도록 두 값을 구분해 검토합니다.
디코딩 결과의 의미와 기능의 경계
성공 결과를 읽을 때는 엔터티 표기가 있던 자리를 먼저 확인합니다. 예를 들어 &가 있던 위치에 앰퍼샌드 문자가 보이면 해당 표현이 해석된 것으로 볼 수 있습니다. <처럼 다른 문자를 나타내는 표기도 대응하는 문자 형태로 나타나는지 살펴봅니다. 결과 전체를 읽으면 앞뒤 문장이 자연스럽게 이어지는지도 확인할 수 있습니다. 입력에 여러 엔터티가 있었다면 각 위치를 따로 대조합니다. 일부 표기만 확인하고 전체 결과를 판단하지 않는 편이 안전합니다. 엔터티가 없는 부분은 원래 글자와 같은 모습으로 남을 수 있습니다. 그러므로 결과가 입력과 비슷하다는 이유만으로 처리가 되지 않았다고 단정하지 않습니다. 반대로 태그처럼 보이는 문자열이 남아 있어도 그것은 이 기능의 처리 대상이 아닐 수 있습니다. 이 도구가 하는 일은 HTML 엔터티를 대응하는 문자로 바꾸는 것입니다. HTML 태그를 제거하는 작업으로 결과를 해석하지 않습니다. 전체 HTML 문서를 일반 텍스트로 바꾸는 기능으로도 보지 않습니다. 마크업을 정리하거나 HTML의 유효성을 검사하는 용도로 범위를 넓히지 않습니다. 입력이 없으면 성공 텍스트를 확인할 수 없습니다. 디코딩 과정에서 예외가 생긴 경우에도 반환 결과는 실패로 나타날 수 있습니다. 따라서 결과를 사용할 때는 먼저 성공 여부를 확인하고, 그 다음 변환된 텍스트를 읽어야 합니다. 원문을 보존하고 싶다면 입력 값과 반환 값을 별도로 비교합니다. 변환된 문자열이 필요한 상황인지도 사용 전에 확인합니다.
사용 예시
웹 페이지에서 복사한 문장에 &가 남아 있어 이를 앰퍼샌드 문자로 바꾼 내용을 확인하려고 합니다.
가격 & 배송을 입력란에 붙여 넣고 처리한 뒤 반환된 텍스트에서 앰퍼샌드가 표시된 위치를 확인합니다.
성공 결과에는 입력한 가격 & 배송에서 &가 &로 바뀐 디코딩 텍스트가 포함됩니다.
제한 사항
- 이 기능의 범위는 HTML 엔터티 디코딩입니다. HTML 태그 제거, 전체 HTML 문서의 일반 텍스트 변환, 마크업 정리 또는 HTML 유효성 검사를 수행하는 기능으로 설명할 수 없습니다. 입력이 없거나 디코딩 중 예외가 발생하면 성공한 텍스트 결과가 나오지 않을 수 있습니다.
자주 발생하는 오류
- 입력란에 디코딩할 내용을 넣지 않고 처리를 시작하면 내용이 없는 입력으로 판단되어 실패 결과가 반환될 수 있습니다. HTML 인코딩 텍스트가 실제로 들어 있는지 확인한 다음 다시 처리하세요.
자주 묻는 질문
입력 없이도 실행할 수 있나요?
입력은 선택 사항으로 정의되어 있지만 계산을 하려면 내용이 필요합니다. 값이 없는 상태로 처리하면 디코딩된 텍스트가 아니라 실패 결과가 반환됩니다.
성공하면 어떤 결과가 나오나요?
성공한 처리에서는 입력에 들어 있던 HTML 엔터티가 그에 해당하는 문자로 바뀐 텍스트를 확인합니다. 변환된 위치를 원문과 비교하면 결과를 읽기 쉽습니다.
실패 결과가 나오는 경우는 무엇인가요?
내용이 없는 입력은 실패 결과로 이어질 수 있으며, 디코딩 중 예외가 발생한 경우에도 성공 텍스트가 반환되지 않을 수 있습니다. HTML 태그 삭제나 HTML 검사 결과를 기대하는 경우에는 기능의 범위를 벗어난 해석이 됩니다.