Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
05-09 15:58
관리 메뉴

zyint's blog

htmlspecialchars — 특수 문자를 HTML 엔터티로 변환 본문

예전글들

htmlspecialchars — 특수 문자를 HTML 엔터티로 변환

진트­ 2009. 2. 16. 02:14

htmlspecialchars

(PHP 4, PHP 5)

htmlspecialchars특수 문자를 HTML 엔터티로 변환 

 

설명

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

 

어떤 문자들은 HTML에서 특별한 정의를 가지기에, 그 의미를 보존하려면, HTML 엔터티로 표현해야 합니다. 이 함수는 이러한 변환을 수행한 문자열을 반환합니다; 이 번역은 모든 웹 프로그래밍에서 매우 유용합니다. 모든 HTML 문자 엔터티를 번역해야 한다면, 이 함수 대신 htmlentities()를 사용하십시오.

이 함수로 게시판이나 방명록 등의 프로그램에서, HTML을 포함하는 사용자 입력 텍스트를 막을 수 있습니다.

변환이 일어나는 문자는:

  • '&'(앰퍼샌드)는 '&'가 됩니다
  • '"'(겹따옴표)는 ENT_NOQUOTES를 설정하지 않았을 때 '"'가 됩니다.
  • '''(홑따옴표)는 ENT_QUOTES가 설정되었을 때만 '''가 됩니다.
  • '<'(미만)은 '&lt;'가 됩니다.
  • '>'(이상)은 '&gt;'가 됩니다.

 

파라미터

: string $string

변환할 string.

 

 

: int $quote_style (optional)

 선택적인 두번째 인수 quote_style 은 홑따옴표와 겹따옴표를 어떻게 처리할지 결정합니다. 기본 모드는 하위 호환 모드 ENT_COMPAT로, 겹따옴표만 변환합니다. ENT_QUOTES를 지정하면 홑따옴표와 겹따옴표 둘 다 변환하고, ENT_NOQUOTES를 지정하면 홑따옴표와 큰 따옴표 둘 다 변환하지 않습니다.

 

 

: string $charset (optional)

변환에 사용할 문자셋을 정의합니다. 기본 문자셋은 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을 사용합니다.

 

 

bool $double_encode (optional)

double_encode 를 끄면 PHP는 이미 존재하는 html 엔티티를 인코드하지 않습니다. 기본값은 모두 변환합니다.

 

 

반환값

변환된 string.

 

 

변경점

버전 설명
5.2.3 double_encode 인수 추가.
4.1.0 charset 인수 추가.

 

 

예제

Example #1 htmlspecialchars() 예제

  1. <?php
    $new 
    htmlspecialchars("<a href='test'>Test</a>"ENT_QUOTES);
    echo 
    $new// &lt;a href=&#039;test&#039;&gt;TEST&lt;/a&gt;?>

 

 

주의

Note: 이 함수는 위 목록 이외에는 아무 것도 번역하지 않는 점에 주의하십시오. 완전한 엔터티 번역을 위해서는, htmlentities()를 참고하십시오.

 

 

참고

 

참고자료

http://kr2.php.net/manual/kr/function.htmlspecialchars.php

 

이 글은 스프링노트에서 작성되었습니다.

Comments