블로그 프로필 이미지

SMALL





htmlspecialchars (PHP4, PHP5)


이 함수는 문자열에서 특정한 특수 문자를 HTML 엔티티로 변환한다. 이함수를 사용하면 악성 사용자로 부터 XSS 공격을 방지 할 수 있다. 변환되는 문자는 아래와 같다.


 특수 문자

 변환된 문자

&(앰퍼샌드)

 &

""(겹따옴표)

 "

''(홑따옴표) 

 '

<(미만) 

 &lt;

>(이상)

 &gt;


 구조(structure)


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


 인자(paramiter)


string $string 

HTML 엔티티로 변환할 문자열


int $quote_style   

이 값은 ''(홑따옴표) 와 ""(겹따옴표) 의 처리방식을 지정한다. 이 값을 생략 시 기본값은 ENT_COMPAT 를 갖는다. 이 값으로 올 수 있는 상수들은 아래와 같다.


 int $quote_style 값으로 지정할 수 있는 상수


  • ENT_COMPAT : 기본모드로, 겹따옴표만 변환

  • ENT_QUOTES : ''(홑따옴표) 와 ""(겹따옴표) 둘다 변환

  • ENT_NOQUOTES : ''(홑따옴표) 와 ""(곁따옴표) 둘다 변환하지 않음


string $charset  

이 값에는 변환에 사용할 문자셋을 지정할 수 있다. 이값을 생략하면 기본 문자셋 값으로 ISO-8859-1 을 갖는다.


bool $double_encode  

이 값은 이미 존재하는 HTML 엔티티를 encode 할지 않을 지를 true 와 false 값으로 지정할 수 있다. 이 값을 생략할 시 기본값은 true 를 갖는다. (PHP 5.2.3 에서 추가되었다) 


 반환(return)


HTML 엔티티로 변환된 문자열을 반환


 예제(example) 1


<?php
$entity= "<b>b 요소가 삭제 되어 출력화면에 나타난다.</b>";
echo htmlspecialchars($entity);
?>


 결과(result)


<b>b 요소가 삭제 되어 출력화면에 나타난다.</b>


 예제(example) 2


<?php
$entity= "<?php  echo 'php 구문도 엔티티로 변환이 된다.'; ?>";
echo htmlspecialchars($entity);
?>


 결과(result)


<?php echo '안녕하세요'; ?>



LIST