웹코딩/PHP
htmlspecialchars()를 이용해 이스케이프 처리
webcooker
2016. 9. 30. 20:27
htmlspecialchars() 함수는 몇몇 특수문자만을 HTML 엔터티로 변환합니다. 옵션으로 quote_style에는 작은 따옴표를 어떻게 처리할 것인지 지정할 수 있습니다. ENT_COMPAT이 지정되면 큰 따옴표만 변환하고, ENT_QUOTES가 지정되면 작은 따옴표만 변환하며, ENT_NONQUOTES가 지정되면 큰 따옴표와 작은 따옴표 둘 다 변환하지 않습니다
∥HTML에서 htmlspecialchars()를 이용해 이스케이프 처리하는 함수 (h.php)
<?php function h($var) // 이스케이프 처리하는 함수 { if (is_array($var)) { return array_map('h', $var); } else { return htmlspecialchars($var, ENT_QUOTES, 'UTF-8'); } } ?>
∥이스케이프 처리하여 브라우저에 표시하기
<?php // h()함수를 불러옵니다 require_once 'h.php'; $string = "<h1>'PHP' 프로그래밍</h1>"; echo "그대로 표시: {$string}<br />\n"; echo 'htmlspecialchars()함수로 이스케이프 처리: ' . h($string) . "\n"; ?>
결과화면