테스트 사이트 - 개발 중인 베타 버전입니다

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

· 8년 전 · 10663 · 1
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);

 

&nbsp;를 공백으로 변환
$str=str_replace("&nbsp;"," ",$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개

감사합니다 : )

게시글 목록

번호 제목
1050
그누보드5 toto slot gacor
1047
1045
1044
1019
1017
1016
1007
1005
1004
967
964
917
889
879
851
848
762
741
740
727
726
725
724
723
722
721
720
719
717