컴

PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법

PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법

 

​php에서 정규식을 활용하여 문자열안에 있는 태그 제거 및 추출 방법에 대해서 알아보겠습니다.

​정규식을 잘 활용하면 소스가 간결해지며 그만큼 좋은 효과를 가져올수 있다고 하는데요 이걸 또 평소에 쓰는 버릇을 해야하는데

자주 쓰이진 않다보니 금방 까먹게 되네요.

​

TEXTAREA 제거
$content = preg_replace("!<TEXTAREA(.*?)>!is","[TEXTAREA]",$content);
$content = preg_replace("!</TEXTAREA(.*?)>!is","[/TEXTAREA]",$content);

 


script 제거​
$str=preg_replace("!<script(.*?)<\/script>!is","",$str);

 

 

iframe 제거
$str=preg_replace("!<iframe(.*?)<\/iframe>!is","",$str);

 

​

meta 제거
$str=preg_replace("!<meta(.*?)>!is","",$str);

 

​

style 태그 제거
$str=preg_replace("!<style(.*?)<\/style>!is","",$str);

 

​

 를 공백으로 변환
$str=str_replace(" "," ",$str);

 

​

연속된 공백 1개로
$str=preg_replace("/\s{2,}/"," ",$str);

 

 

태그안에 style= 속성 제거
$str=preg_replace("/ zzstyle=([^\"\']+) /"," ",$str); // style=border:0... 따옴표가 없을때
$str=preg_replace("/ style=(\"|\')?([^\"\']+)(\"|\')?/","",$str); // style="border:0..." 따옴표 있을때

 

​

태그안의 width=, height= 속성 제거
$str=preg_replace("/ width=(\"|\')?\d+(\"|\')?/","",$str);
$str=preg_replace("/ height=(\"|\')?\d+(\"|\')?/","",$str);

 

 

img 태그 추출 src 추출
preg_match("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i",$str,$RESULT);
preg_match_all("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i",$str,$RESULT);

 

 

호스트 추출
<?
preg_match("/^(http:\/\/)?([^\/]+)/i","http://www.naver.com/index.php",$matches);
$host = $matches[2];
echo$matches[0]."<br>";
echo$matches[1]."<br>";
echo$matches[2]."<br>";
?>

 

 

|

댓글 1개

감사합니다 : )
댓글을 작성하시려면 로그인이 필요합니다.

개발강좌

109건
+
제목 글쓴이 날짜 조회
17-02-13 조회 4.7만
17-02-06 조회 5,860
17-02-03 조회 5,397
17-02-03 조회 4,725
17-02-03 조회 1.1만
17-01-27 조회 8,197
17-01-27 조회 6,004
17-01-27 조회 6,899
17-01-26 조회 7,442
17-01-26 조회 4,220
17-01-26 조회 5,376
17-01-24 조회 6,090
17-01-24 조회 5,421
16-11-18 조회 4,585
16-10-07 조회 4,513
16-10-06 조회 8,125
16-10-06 조회 5,763
15-08-31 조회 14만
15-08-29 조회 8,381
15-08-28 조회 6,578
15-08-25 조회 6,499
15-08-24 조회 7,069
15-06-22 조회 1.1만
15-06-18 조회 7,883
15-06-17 조회 1.2만
15-06-16 조회 7,839
15-06-16 조회 2.2만
15-04-02 조회 6,181
14-08-28 조회 7,332
14-08-28 조회 9,990