일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 러시아
- 모던음악만만세
- 이지형
- EV-DO Rev. B
- 김장훈의who
- ETF
- 페이스북
- 민동현
- 퀄컴
- brew
- 위피
- SWT
- 유희열의라디오천국
- "명탐정 코난"
- VoIP
- 차트쇼쇼쇼
- 그녀가말했다
- 김장훈
- 한국의 기획자들
- 자바
- Wibro
- itmusic
- CDMA
- 공정위
- 사요
- USIM
- HSDPA
- 민동현의토요명화
- 라디오
- Java
- Today
- Total
zyint's blog
htmlspecialchars — 특수 문자를 HTML 엔터티로 변환 본문
htmlspecialchars
(PHP 4, PHP 5)
htmlspecialchars — 특수 문자를 HTML 엔터티로 변환
설명
- string htmlspecialchars (string $string [,int $quote_style [,string $charset [,bool $double_encode ]]] )
어떤 문자들은 HTML에서 특별한 정의를 가지기에, 그 의미를 보존하려면, HTML 엔터티로 표현해야 합니다. 이 함수는 이러한 변환을 수행한 문자열을 반환합니다; 이 번역은 모든 웹 프로그래밍에서 매우 유용합니다. 모든 HTML 문자 엔터티를 번역해야 한다면, 이 함수 대신 htmlentities()를 사용하십시오.
이 함수로 게시판이나 방명록 등의 프로그램에서, HTML을 포함하는 사용자 입력 텍스트를 막을 수 있습니다.
변환이 일어나는 문자는:
- '&'(앰퍼샌드)는 '&'가 됩니다
- '"'(겹따옴표)는 ENT_NOQUOTES를 설정하지 않았을 때 '"'가 됩니다.
- '''(홑따옴표)는 ENT_QUOTES가 설정되었을 때만 '''가 됩니다.
- '<'(미만)은 '<'가 됩니다.
- '>'(이상)은 '>'가 됩니다.
파라미터
: 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() 예제
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>TEST</a>?>
주의
Note: 이 함수는 위 목록 이외에는 아무 것도 번역하지 않는 점에 주의하십시오. 완전한 엔터티 번역을 위해서는, htmlentities()를 참고하십시오.
참고
-
get_html_translation_table() - htmlspecialchars와 htmlentities에서 사용하는 변환표를 반환합니다
- htmlspecialchars_decode() - Convert special HTML entities back to characters
- strip_tags() - 문자열에서 HTML과 PHP 태그를 제거
- htmlentities() - 해당하는 모든 문자를 HTML 엔티티로 변환
- nl2br() - 문자열의 모든 줄바꿈 앞에 HTML 줄바꿈 태그를 삽입
참고자료
http://kr2.php.net/manual/kr/function.htmlspecialchars.php
이 글은 스프링노트에서 작성되었습니다.