htmlentities()는 HTML 문자 엔티티에 존재하는 모든 문자를
엔티티로 변환하는 점을 제외하면, htmlspecialchars()와 완전히 동일합니다.
디코드(역변환)하려면 html_entity_decode()를 사용할 수 있습니다.
Example #1 htmlentities() ------------------------------------------------------------------------------------<?php
$str = "A 'quote' is <b>bold</b>";
// 출력: A 'quote' is <b>bold</b>
echo htmlentities($str);
// 출력: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
--------------------------------------------------------------------------------------------------------------
html_entity_decode — 모든 HTML 엔티티를 해당하는 문자로 변환
html_entity_decode()는 string 의 모든 HTML 엔티티를 해당하는
문자로 변환합니다. htmlentities()의 역함수입니다.
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 "walk" the <b>dog</b> 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
?>
----------------------------------------------------------------------------------------------------------------
Note:
trim(html_entity_decode(' '));는 문자열을 빈 문자열로 변환하지 않습니다. 이는 기본값인
ISO-8859-1 문자셋에서 ' ' 엔티티가 (trim()에서 잘라내는) 아스키 코드
32