PHP 매뉴얼
이전 |  | 다음

# html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decode -- 모든 HTML 엔티티를 해당하는 문자로 변환합니다.

## 설명

string html_entity_decode ( string string [, int quote_style [, string charset]])

html_entity_decode()는 `string`의 모든 HTML 엔티티를 해당하는 문자로 변환합니다. htmlentities()의 역함수입니다.

두번째에 위치하는 선택적인 `quote_style` 인자는 '작은 따옴표'와 "큰 따옴표"를 어떻게 처리할지 정의합니다. 아래의 상수들을 사용할 수 있으며, 기본값은 `ENT_COMPAT`입니다:

표 1. 사용할 수 있는 `quote_style` 상수

상수명 | 설명
--- | ---
`ENT_COMPAT` | 큰 따옴표만 변환합니다.
`ENT_QUOTES` | 작은 따옴표와 큰 따옴표 둘 다 변환합니다.
`ENT_NOQUOTES` | 작은 따옴표와 큰 따옴표 둘 다 변환하지 않습니다.

세번째에 위치하는 선택적인 `charset`의 기본값은 ISO-8859-1 문자셋입니다. 이는 변환에 사용할 문자셋을 정의합니다.

PHP 4.3.0 이상에서 다음 문자셋을 지원합니다.

표 2. 지원 문자셋

문자셋 | 다른 이름 | 설명
--- | --- | ---
ISO-8859-1 | ISO8859-1 | 서부 유럽어, Latin-1.
ISO-8859-15 | ISO8859-15 | 서부 유럽어, Latin-9. 유로 사인, Latin-1(ISO-8859-1)에 빠진 프랑스어와 핀란드어 문자 추가.
UTF-8 |  | ASCII 호환 멀티바이트 8비트 유니코드.
cp866 | ibm866, 866 | DOS-특정 키릴 문자셋. 이 문자셋은 4.3.2부터 지원합니다.
cp1251 | Windows-1251, win-1251, 1251 | 윈도우즈-특정 키릴 문자셋. 이 문자셋은 4.3.2부터 지원합니다.
cp1252 | Windows-1252, 1252 | 윈도우즈 특정 서부 유럽어 문자셋
KOI8-R | koi8-ru, koi8r | 러시아어. 이 문자셋은 4.3.2부터 지원합니다.
BIG5 | 950 | 중국어 번체, 주로 대만에서 사용.
GB2312 | 936 | 중국어 간체, 국가 표준 문자셋.
BIG5-HKSCS |  | 홍콩 확장을 포함한 Big5, 중국어 번체.
Shift_JIS | SJIS, 932 | 일본어.
EUC-JP | EUCJP | 일본어.

> 참고: 다른 문자셋에 대해서는 ISO-8859-1을 사용합니다.

예 1. HTML 엔티티 디코딩

`<?php
$orig = "I'll \"walk\" the <b>dog</b> now";
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now
echo $b; // I'll "walk" the <b>dog</b> now
// PHP 4.3.0 이전 사용자는 이렇게 할 수 있습니다:
function unhtmlentities($string)
{
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}
$c = unhtmlentities($a);
echo $c; // I'll "walk" the <b>dog</b> now
?>`

> 참고: trim(html_entity_decode('&nbsp;'));는 문자열을 빈 문자열로 변환하지 않습니다. 이는 기본값인 ISO-8859-1 문자셋에서 '&nbsp;' 엔티티가 아스키 코드 32(trim()에서 잘라냄)가 아닌 아스키 코드 160(0xa0)이기 때문입니다.

참고: htmlentities(), htmlspecialchars(), get_html_translation_table(), urldecode().

이전 | 처음으로 | 다음
hebrevc | 위로 | htmlentities