Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP strip_tags() 함수 완벽 정리 – 문자열에서 HTML·PHP 태그 제거하기

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() 같은 함수와 함께 사용하는 것이 좋습니다.