PHP htmlspecialchars() 함수
예제
예약된 문자 "<" (작은)과 ">" (빠른)을 HTML 엔티티로 변환합니다:
<?php $str = "This is some <b>bold</b> text."; echo htmlspecialchars($str); ?>
위 코드의 HTML 출력은 다음과 같습니다(원본 코드를 확인하십시오):
<!DOCTYPE html> <html> <body> This is some <b>bold</b> text. </body> </html>
위 코드의 브라우저 출력은 다음과 같습니다:
This is some <b>bold</b> text.
정의와 사용법
htmlspecialchars() 함수는 예약된 문자를 HTML 엔티티로 변환합니다.
предопределенные символы:
- & (와)가 &로 변환됩니다
- " (양쪽 쌍추가 문자)이 ""로 변환됩니다
- ' (단추추가 문자)이 ''로 변환됩니다
- < (작은)이 <로 변환됩니다
- > (빠른)이 >로 변환됩니다
힌트:특정 HTML 엔티티를 문자로 변환하려면 사용하세요 htmlspecialchars_decode() 함수.
문법
htmlspecialchars(string,flags,character-set,double_encode)
매개변수 | 설명 |
---|---|
string | 필수. 변환할 문자열을 정의합니다. |
flags |
선택 사항. 구두점, 유효하지 않은 인코딩 처리 및 사용할 문서 유형을 정의합니다. 사용 가능한 구두점 유형:
유효하지 않은 인코딩:
사용할 문서 유형의 추가 flags를 정의합니다.
|
character-set |
선택 사항. 사용할 문자셋을 정의하는 문자열. 허용된 값:
주석:PHP 5.4 이전 버전에서 인식할 수 없는 문자셋은 ISO-8859-1로 대체됩니다. PHP 5.4부터 인식할 수 없는 문자셋은 UTF-8으로 대체됩니다. |
double_encode |
선택 사항. 기존 HTML 엔티티를 인코딩할지 여부를 정의하는 부울 값.
|
기술적 세부 사항
반환 값: |
변환된 문자열을 반환합니다. 만약 string 잘못된 인코딩이 포함되어 있으면, ENT_IGNORE 또는 ENT_SUBSTITUTE 표시를 설정하지 않았다면 빈 문자열을 반환합니다. |
PHP 버전: | 4+ |
업데이트 기록: |
PHP 5에서,character-set 매개변수의 기본값이 UTF-8으로 변경되었습니다. PHP 5.4에서 ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1, ENT_XHTML가 새로 추가되었습니다. PHP 5.3에서 ENT_IGNORE가 새로 추가되었습니다. PHP 5.2.3에서 새로 추가되었습니다. double_encode 파라미터. PHP 4.1에서 추가된 character-set 파라미터. |
더 많은 예제
예제 1
일부 предопределенные знаки converting into HTML entity:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // 더블 큰따옴표만 변환 echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES); // 더블 큰따옴표와 싱글 큰따옴표를 변환 echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // 어떤 큰따옴표도 변환하지 않음 ?>
위 코드의 HTML 출력은 다음과 같습니다(원본 코드를 확인하십시오):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
위 코드의 브라우저 출력은 다음과 같습니다:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
예제 2
더블 큰따옴표를 HTML 엔티티로 변환하십시오:
<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // 더블 큰따옴표와 싱글 큰따옴표를 변환 ?>
위 코드의 HTML 출력은 다음과 같습니다(원본 코드를 확인하십시오):
<!DOCTYPE html> <html> <body> 저는 "PHP"을 사랑합니다. </body> </html>
위 코드의 브라우저 출력은 다음과 같습니다:
저는 "PHP"을 사랑합니다.