PHP는 반드시 htmlspecialchars () 함수
예
미리 정의 된 문자 "<"(이하) 및 ">"(이상은) HTML 엔티티로 변환 :
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
$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>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
다음과 같이 위의 코드의 브라우저 출력은 다음과 같습니다
This is some <b>bold</b> text.
»인스턴스를 실행
정의 및 사용
HTML 개체에 몇 가지 미리 정의 된 문자를 반드시 htmlspecialchars () 함수.
미리 정의 된 문자는 다음과 같습니다
- & (앰퍼샌드)이된다 & A;
- "(큰 따옴표)가된다 & quot;
- '(1 인용)이된다'
- <(미만)가된다 & LT;
- > (보다 큼)을하게된다
팁 : 다시 문자에 특별한 HTML 엔티티를 얻을 사용 htmlspecialchars_decode () 함수를.
문법
htmlspecialchars( string,flags,character-set,double_encode )
매개 변수 | 기술 |
---|---|
현 | 필요합니다. 문자열의 조항 변환 할 수 있습니다. |
플래그 | 선택 사항. 따옴표, 잘못된 인코딩 및 문서 유형의 규정에 대처하는 방법. 인용 부호의 사용 가능한 유형 :
잘못된 코드 :
문서 형식은 추가 플래그의 사용을 필요 :
|
문자 집합 | 선택 사항. 문자 집합을 지정하는 문자열을 사용합니다. 허용되는 값 :
참고 : 이전 버전 5.4 PHP에서 대신 ISO-8859-1에 의해 무시됩니다 문자 세트를 인식 할 수 없습니다.이후 PHP 5.4 이후, 식별 할 수없는 문자 세트는 UTF-8 대신에 의해 무시됩니다. |
double_encode | 선택 사항. 인코딩 기존의 HTML 엔티티 여부를 지정하는 부울 값입니다.
|
기술 세부 사항
반환 값 : | 변환 된 문자열을 반환합니다. 문자열이 유효하지 않은 코드가 포함되어있는 경우, 빈 문자열,하지 않는 한 ENT_IGNORE 또는 ENT_SUBSTITUTE 플래그를 반환됩니다. |
---|---|
PHP 버전 : | 4+ |
업데이트 로그 : | PHP 5에서, 기본 값 UTF-8 매개 변수를 문자 세트. ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 및 ENT_XHTML : PHP 5.4, 및 추가합니다. PHP 5.3에서 ENT_IGNORE를 추가합니다. PHP 5.2.3에서 double_encode 매개 변수를 추가합니다. PHP 4.1에서 문자 집합 매개 변수를 추가합니다. |
더 많은 예제
예 1
HTML 엔티티로 일부 미리 정의 된 문자 :
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>
(소스보기) 다음과 같이 코드의 HTML 출력은 위이다 :
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
다음과 같이 위의 코드의 브라우저 출력은 다음과 같습니다
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
»인스턴스를 실행
예 2
HTML 개체에 따옴표 :
<?php
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>
(소스보기) 다음과 같이 코드의 HTML 출력은 위이다 :
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
<html>
<body>
I love "PHP".
</body>
</html>
다음과 같이 위의 코드의 브라우저 출력은 다음과 같습니다
I love "PHP".
»인스턴스를 실행
PHP 문자열 참조