PHP 매뉴얼
이전 |  | 다음

# htmlspecialchars

(PHP 3, PHP 4 , PHP 5)

htmlspecialchars -- 특수 문자를 HTML 엔터티로 변환합니다.

## 설명

string htmlspecialchars ( string string [, int quote_style [, string charset]])

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

이 함수로 게시판이나 방명록 등의 프로그램에서, HTML을 포함하는 사용자 입력 텍스트를 막을 수 있습니다. 선택적인 두번째 인자 `quote_style`은 작은 따옴표와 큰 따옴표를 어떻게 처리할지 결정합니다. 기본 모드는 하위 호환 모드 `ENT_COMPAT`로, 큰 따옴표만 변환합니다. `ENT_QUOTES`를 지정하면 작은 따옴표와 큰 따옴표 둘 다 변환하고, `ENT_NOQUOTES`를 지정하면 작은 따옴표와 큰 따옴표 둘 다 변환하지 않습니다.

다음 문자들을 변역합니다:

- '&'(앰퍼샌드)는 '&amp;'가 됩니다.

- '"'(큰 따옴표)는 ENT_NOQUOTES를 지정하지 않았을 때 '&quot;'가 됩니다.

- '''(작은 따옴표)는 ENT_QUOTES를 지정했을 때만 '&#039;'가 됩니다.

- '<'(보다 작음)는 '&lt;'가 됩니다.

- '>'(보다 큼)는 '&gt;'가 됩니다.

예 1. htmlspecialchars() 예제

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

이 함수는 위 목록 이외에는 아무 것도 번역하지 않는 점에 주의하십시오. 완전한 엔터티 번역을 위해서는, htmlentities()를 참고하십시오. 선택적인 두번째 인자는 PHP 3.0.17과 PHP 4.0.3에서 추가되었습니다.

선택적인 세번째 인자 `charset`은 변환에 사용하는 문자셋을 정의합니다. 기본 문자셋은 ISO-8859-1입니다. 세번째 인자는 PHP 4.1.0부터 지원합니다.

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

표 1. 지원 문자셋

문자셋 | 다른 이름 | 설명
--- | --- | ---
ISO-8859-1 | ISO8859-1 | 서부 유럽어, Latin-1.
ISO-8859-15 | ISO8859-15 | 서부 유럽어, Latin-9. 유로 사인, Latin-1(ISO-8859-1)에 빠진 프랑스어와 핀란드어 문자 추가.
UTF-8 |  | ASCII 호환 멀티바이트 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 | 일본어.

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

참고: get_html_translation_table(), strip_tags(), htmlentities(), nl2br().

이전 | 처음으로 | 다음
htmlentities | 위로 | implode