레이블이 특정인 게시물을 표시합니다. 모든 게시물 표시
레이블이 특정인 게시물을 표시합니다. 모든 게시물 표시

2015년 1월 6일 화요일

특정 html 태그 제거(php)

문서의 원하는 특정 HTML 태그를 제거 할때 사용되는 방법이다.

보통은 strip_tags 함수를 사용하나 전체 HTML 태그를 삭제하거나 특정 태그만 사용이 가능하게 하는 기능만 있다. strip_tags 함수로 <a>태그만 삭제하고 싶다면 두번째 인자에 다른 허용 태그를 전부 입력해야 하므로 상황에 따라 이용하기 불편하다. 물론 특정태그 삭제하는 PHP 함수는 없다.

간단하게 preg_replace 함수를 사용해서 원하는 결과를 얻을 수 있다.

$str = "<a href=''>텍스트</a>";
$str = preg_replace("/<a[^>]*>/i", '', $str);
$str = preg_replace("/<\/a>/i", '', $str);
echo $str;

자주사용하거나 여러건의 태그삭제가 필요하다면 삭제처리 할 태그명을 배열로 받아 함수로 처리하면 좋을듯..

참고 : i 는 대소문자 구별하지 않음