strip_tags() 함수는 PHP에서 문자열에 포함된 HTML 태그와 PHP 태그를 모두 제거할 때 사용하는 내장 함수입니다. 사용자 입력값에서 불필요한 마크업을 걸러내거나, 텍스트만 추출해야 하는 상황에서 유용하게 활용됩니다.
문법(Syntax)
strip_tags(str, allow)
매개변수(Parameters)
str − 태그를 제거할 대상이 되는 문자열입니다.
allow − 선택 사항으로, 제거하지 않고 그대로 유지할 태그를 지정합니다. 예를 들어 <strong> 태그를 허용하면 해당 태그는 삭제되지 않습니다.
반환값(Return)
strip_tags() 함수는 지정된 태그가 제거된 문자열을 반환합니다.
예제 1: 모든 태그 제거하기
다음 예제는 두 번째 인수 없이 호출하여 문자열 내의 모든 HTML 태그를 제거합니다.
<?php
echo strip_tags("<p>Demo <strong>Text!</strong></p>");
?>
출력 결과
Demo Text!
<p> 태그와 <strong> 태그가 모두 제거되고 순수한 텍스트만 출력되는 것을 확인할 수 있습니다.
예제 2: 특정 태그만 허용하기
두 번째 인수에 유지하고 싶은 태그를 전달하면, 해당 태그는 제거되지 않고 남습니다.
<?php
echo strip_tags("<p>Demo <strong>Text!</strong></p>", "<strong>");
?>
출력 결과
Demo <strong>Text!</strong>
이처럼 allow 매개변수에 <strong>을 지정하면 <p> 태그는 제거되지만 <strong> 태그는 그대로 유지됩니다.
정리
strip_tags() 함수는 간단하면서도 강력한 보안·데이터 정제 도구입니다. 다만 주석이나 스크립트 형태의 악성 코드까지 완벽히 차단하지 못할 수 있으므로, 보안이 중요한 환경에서는 htmlspecialchars() 같은 함수와 함께 사용하는 것이 좋습니다.