본문 바로가기
개발하는 '정'/PHP

[PHP] HTML 태그 제거 함수 (Strip_tags) + strip_tags 안 먹힐 때 해결

by 주앤정_블로그 2021. 5. 7.

[PHP] HTML 태그 제거 함수 (Strip_tags) + strip_tags 안 먹힐 때 해결

php html 태그 제거 함수

PHP의 HTML 태그를 제거하는 함수 : Strip_tags

 

 

[ 예제#1 ]

$content = '<div><a href="zpxlcm.tistory.com">strip_tags</a></div>';

echo "모든 HTML 코드 제거 => ".strip_tags($content);
echo "<BR>";
echo "일부 HTML 코드 제거 => ".strip_tags($content,'<a>'); //<a> 태그 제외 모든 태그 제거

 

[ 실행 결과#1 ]

php html 태그 제거 함수 strip_tags 실행 결과

두번째 인자에 특별한 값이 없으면 모든 html 코드를 제거한다.

예제와 같이 태그를 지정하면 지정된 태그 외의 html 코드를 제거한다.

strip_tags($content,'<div><a>') 와 같이 동시에 여러 태그들을 지정할 수 있다.

 


 

+ DB로 가져온 데이터에 strip_tags가 먹히지 않을 때

데이터가 html 특수코드(&lt; &gt; 등...)로 저장되어있는 경우 태그로 변환해준 후 strip_tags 함수를 적용해야한다.

태그 변환 시 html 특수코드를 html 태그로 변환해주는 htmlspecialchars_decode() 함수를 사용한다.

 

[ 예제#2 ]

$content = '&lt;div&gt;&lt;a href="zpxlcm.tistory.com"&gt;strip_tags&lt;/a&gt;&lt;/div&gt;';

echo $content;
echo "<BR>";
echo "htmlspecialchars_decode 미적용 => ".strip_tags($content);
echo "<BR>";
echo "htmlspecialchars_decode 적용 => ".strip_tags(htmlspecialchars_decode($content));

 

[ 실행결과#2 ]

php htmlspecialchars_decode + strip_tags 실행 결과

htmlspecialchars_decode() 함수를 사용해 html 특수코드로 변환해주어야

문자열 "strip_tags"만 남는 것을 확인할 수 있다.

 

 

 

반응형

댓글