티스의 이야기

안전하게 브라우저에서 값을 표시할때 본문

프로그래밍

안전하게 브라우저에서 값을 표시할때

밍딩이 2016. 6. 30. 09:56

안전하게 브라우저에서 값을 표시할 때


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() 함수로 이스케이프 처리: &lt;cite&gt;&#039;PHP&#039;

프로그래밍&lt;/cite&gt;

</div>

</body>

</html>



Comments