스크래핑,파싱
[php] html 태그를 없애고 싶을때 - strip_tags
xemaker
2017. 1. 30. 08:07
파싱을 하다보면 html 태그안의 내용만 뽑고 싶을때가 있다.
아래 태그처럼 선수번호와 이름을 추출하고 싶은데 선수번호는 그대로 추출되나 선수이름은 span 태그에 감싸져 있다.
정규식을 사용할 수 있으나 복잡하고 시간도 많이 걸리니 이럴때 간단하게 해결하는 방법이 있다.
바로 strip_tags를 사용하는 것이다.
[1] => <span title="네덜란드" class="flag fl_139" style="float:left;"></span> <span style="float:left;color:blue;cursor:pointer;" onclick="player_search('/player/kruiswijk-arnold/bD13f3nE/');">A. 크라이스비크</span>
[2] => <span title="이란" class="flag fl_94" style="float:right;"></span> <span style="float:right;color:blue;cursor:pointer;" onclick="player_search('/player/jahanbakhsh-alireza/f3nLXmDJ/');">A. 자한바크쉬</span>
[5] => <span title="모로코" class="flag fl_134" style="float:left;"></span> <span style="float:left;color:blue;cursor:pointer;" onclick="player_search('/player/tighadouini-adnane/tjhCa9nG/');">A. 티하두이니</span>
[6] => <span title="네덜란드" class="flag fl_139" style="float:right;"></span> <span style="float:right;color:blue;cursor:pointer;" onclick="player_search('/player/rienstra-ben/QDljao6H/');">B. 리엔스트라 (C)</span>
[9] => <span title="퀴라소" class="flag fl_300" style="float:left;"></span> <span style="float:left;color:blue;cursor:pointer;" onclick="player_search('/player/room-eloy/QkUYeBt5/');">E. 룸 (G)</span>
[10] => <span title="네덜란드" class="flag fl_139" style="float:right;"></span> <span style="float:right;color:blue;cursor:pointer;" onclick="player_search('/player/dos-santos-souza-dabney/KYP49nkc/');">D. 도스 산토스</span>
foreach($match_num as &$value){
$value=strip_tags($value);
}
print_r($match_num);
이런식으로 하면
[0] => 6
[1] => A. 크라이스비크
[2] => A. 자한바크쉬
[3] => 7
[4] => 10
[5] => A. 티하두이니
[6] => B. 리엔스트라 (C)
[7] => 6
[8] => 1
[9] => E. 룸 (G)
[10] => D. 도스 산토스
이렇게 간단하게 내용만 뽑을 수 있다.
php 매뉴얼의 내용
http://php.net/manual/kr/function.strip-tags.php
예제 ¶
Example #1 strip_tags() 예제
<?php
$text = '<p>테스트 문단.</p><!-- 주석 --> <a
href="#fragment">다른 텍스트</a>';
echo strip_tags($text);
echo "\n";
// <p>와 <a>를 허용
echo strip_tags($text, '<p><a>');
?>
테스트 문단. 다른 텍스트
<p>테스트 문단.</p> <a href="#fragment">다른 텍스트</a>