IT/php

php html_entity_decode — 모든 HTML 엔티티를 해당하는 문자로 변환

조원태 2016. 11. 3. 11:35
반응형

html_entity_decode


(PHP 4 >= 4.3.0, PHP 5, PHP 7)

html_entity_decode — 모든 HTML 엔티티를 해당하는 문자로 변환


설명 ¶


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

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


인수 ¶


string

입력 문자열.


quote_style

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


사용할 수 있는 quote_style 상수

상수명 : 설명

ENT_COMPAT : 겹따옴표만 변환합니다.

ENT_QUOTES : 홑따옴표와 겹따옴표 모두 변환합니다.

ENT_NOQUOTES : 홑따옴표와 겹따옴표 모두 변환하지 않습니다.

charset

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


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


지원 문자셋

문자셋 : 다른 이름 : 설명

ISO-8859-1 : ISO8859-1 : 서부 유럽어, Latin-1.

ISO-8859-15 : ISO8859-15 : 서부 유럽어, Latin-9. 유로 사인, Latin-1(ISO-8859-1)에 빠진 프랑스어와 핀란드어 문자 추가.

UTF-8  :  아스키 호환 멀티바이트 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 : 일본어.

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

반환값 ¶


디코드한 문자열을 반환합니다.


변경점 ¶


버전 : 설명

5.0.0 : 멀티바이트 문자셋 지원 추가.

예제 ¶


Example #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)

{

    // 숫자 엔티티 치환

    $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $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


?>

반응형