안전하게 브라우저에서 값을 표시할때
안전하게 브라우저에서 값을 표시할 때
htmlspecialchars() 함수는 특수 문자를 이스케이프 처리한다
htmlspecialchars($string, ENT_QUOTES, 'UTF-8')
HTML에서 이스케이프 처리를 하는 함수
<?php
function h($var) // HTML에서 이스케이프 처리를 하는 함수
{
if (is_array($var)) {
return array_map('h' , $var);
} else {
return htmlspecialchars($var, ENT_QUOTES, 'UTF-8');
}
}
h() 함수는 인수가 문자열과 모든 배열을 처리할 수 있습니다. is_array() 함수로
인수가 배열인지 판별하고 배열인 경우에는 array_map() 함수 레시피 096로 h() 함수에서
모든 요소를 처리합니다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>이스케이프 처리하여 브라우저에 표시하기</title>
</head>
<body>
<div>
<?php
// h() 함수 레시피 218를 불러옵니다 레시피 041.
require_once '../../../../lib/h.php';
$string = "<cite>'PHP' 프로그래밍</cite>";
echo "그대로 표시: {$string}<br>\n";
echo 'htmlspecialchars() 함수로 이스케이프 처리: ' . h($string) . "\n";
?>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>이스케이프 처리하여 브라우저에 표시하기</title>
</head>
<body>
<div>
그대로 표시: <cite>'PHP' 프로그래밍</cite><br>
htmlspecialchars() 함수로 이스케이프 처리: <cite>'PHP'
프로그래밍</cite>
</div>
</body>
</html>