'HTML 엔티티'에 해당되는 글 1건

  1. 2011.03.21 htmlentities <-> html_entity_decode (엔티티 변환, 태그변환)

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

 

string htmlentities ( string $string [, int $quote_style [, string $charset [, bool $double_encode ]]] )

htmlentities()는 HTML 문자 엔티티에 존재하는 모든 문자를 엔티티로 변환하는 점을 제외하면, htmlspecialchars()와 완전히 동일합니다.

디코드(역변환)하려면 html_entity_decode()를 사용할 수 있습니다.

 

Example #1 htmlentities() ------------------------------------------------------------------------------------

<?php
$str 
"A 'quote' is <b>bold</b>";

// 출력: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// 출력: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($strENT_QUOTES);
?>

--------------------------------------------------------------------------------------------------------------

 

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

 

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

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

 

 

출처 : http://kr2.php.net/

댓글을 달아 주세요

 «이전 1  다음»