Strings htmlentities
(PHP 4, PHP 5, PHP 7, PHP 8)
htmlentities — 적용 가능한 모든 문자를 HTML 엔터티로 변환
설명
htmlentities( string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true ): string
이 함수는 htmlentities()를 제외하고 모든 면에서 htmlspecialchars()와 동일합니다. 단, HTML 문자 엔터티에 해당하는 모든 문자는 이러한 엔터티로 변환됩니다. get_html_translation_table() 함수는 제공된 flags
상수에 따라 사용된 변환 테이블을 반환하는 데 사용할 수 있습니다.
대신(역방향) 디코딩하려면 html_entity_decode()를 사용할 수 있습니다.
매개변수
string
- 입력 문자열입니다.
flags
- 따옴표, 잘못된 코드 단위 시퀀스 및 사용된 문서 유형을 처리하는 방법을 지정하는 다음 플래그 중 하나 이상의 비트 마스크입니다. 기본값은
ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401
.사용 가능한
flags
상수상수 이름 설명 ENT_COMPAT
큰따옴표를 변환하고 작은따옴표를 그대로 둡니다. ENT_QUOTES
큰따옴표와 작은따옴표를 모두 변환합니다. ENT_NOQUOTES
큰따옴표와 작은따옴표 모두 변환되지 않은 상태로 둡니다. ENT_IGNORE
빈 문자열을 반환하는 대신 잘못된 코드 단위 시퀀스를 조용히 버립니다. 이 플래그는 » may have security implications을 줄 수 있으므로 사용하지 않는 것이 좋습니다. ENT_SUBSTITUTE
유효하지 않은 코드 단위 시퀀스를 유니코드 대체 문자 U+FFFD(UTF-8) 또는 FFFD; (그렇지 않으면) 빈 문자열을 반환하는 대신. ENT_DISALLOWED
주어진 문서 유형에 대한 유효하지 않은 코드 포인트를 유니코드 대체 문자 U+FFFD(UTF-8) 또는 FFFD; (그렇지 않으면) 그대로 두는 대신. 이는 예를 들어 외부 콘텐츠가 포함된 XML 문서의 형식을 잘 유지하는 데 유용할 수 있습니다. ENT_HTML401
Handle code as HTML 4.01. ENT_XML1
Handle code as XML 1. ENT_XHTML
Handle code as XHTML. ENT_HTML5
Handle code as HTML 5. encoding
- 문자를 변환할 때 사용되는 인코딩을 정의하는 선택적 인수입니다.
생략하면
encoding
은 기본적으로 default_charset 구성 옵션의 값으로 설정됩니다.이 인수는 기술적으로 선택 사항이지만 지정된 입력에 대해 default_charset 구성 옵션이 잘못 설정될 수 있는 경우 코드에 올바른 값을 지정하는 것이 좋습니다.
다음 문자 집합이 지원됩니다.
Supported charsets
Charset Aliases Description ISO-8859-1 ISO8859-1 서유럽어, 라틴어-1. ISO-8859-5 ISO8859-5 거의 사용되지 않는 키릴 문자 집합(라틴어/키릴 문자). ISO-8859-15 ISO8859-15 서유럽어, 라틴-9. Latin-1(ISO-8859-1)에서 누락된 유로 기호, 프랑스어 및 핀란드어 문자를 추가합니다. UTF-8 ASCII 호환 멀티바이트 8비트 유니코드. cp866 ibm866, 866 DOS 전용 키릴 문자 집합입니다. cp1251 Windows-1251, win-1251, 1251 Windows 전용 키릴 문자 집합입니다. cp1252 Windows-1252, 1252 서유럽용 Windows 전용 문자 집합입니다. KOI8-R koi8-ru, koi8r Russian. BIG5 950 대만에서 주로 사용되는 중국어 번체. GB2312 936 중국어 간체, 국가 표준 문자 집합입니다. BIG5-HKSCS 홍콩 확장이 있는 Big5, 중국어 번체. Shift_JIS SJIS, SJIS-win, cp932, 932 Japanese EUC-JP EUCJP, eucJP-win Japanese MacRoman Mac OS에서 사용하는 문자 집합입니다. ''
빈 문자열은 스크립트 인코딩(Zend 멀티바이트), default_charset 및 현재 로케일(nl_langinfo() 및 setlocale() 참조)에서 이 순서대로 감지를 활성화합니다. 권장하지 않습니다. 참고: 다른 문자 집합은 인식되지 않습니다. 대신 기본 인코딩이 사용되며 경고가 표시됩니다.
double_encode
double_encode
가 꺼져 있으면 PHP는 기존 html 엔티티를 인코딩하지 않습니다. 기본값은 모든 것을 변환하는 것입니다.
반환 값
인코딩된 문자열을 반환합니다.
입력 string
에 지정된 encoding
내에서 잘못된 코드 단위 시퀀스가 포함되어 있으면 ENT_IGNORE
또는 ENT_SUBSTITUTE
플래그가 설정되지 않는 한 빈 문자열이 반환됩니다.
변경 로그
버전 | 설명 |
---|---|
8.1.0 | flags 가 ENT_COMPAT 에서 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 로 변경됨. |
8.0.0 | encoding 은 이제 nullable입니다. |
Examples
예제 #1 htmlentities() 예제
<?php
$str = "A 'quote' is bold";
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str);
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
예제 #2 ENT_IGNORE 사용
<?php
$str = "\x8F!!!";
// Outputs an empty string
echo htmlentities($str, ENT_QUOTES, "UTF-8");
// Outputs "!!!"
echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
?>
기타
- html_entity_decode() - HTML 엔터티를 해당 문자로 변환
- get_html_translation_table() - htmlspecialchars 및 htmlentities에서 사용하는 번역 테이블을 반환합니다.
- htmlspecialchars() - 특수 문자를 HTML 엔터티로 변환
- nl2br() - 문자열의 모든 줄 바꿈 앞에 HTML 줄 바꿈을 삽입합니다.
- urlencode() - URL 인코딩 문자열